24 years agoSmall bit of paranioa. Ensure that if the incoming name to
Jeremy Allison [Sat, 19 Sep 1998 03:34:12 +0000 (03:34 +0000)]
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'.
(This used to be commit f74f39f45fa55c1768d6622a52c494328f22f50b)

24 years agoRemove some byte-copying code in unix_format() that did nothing except
Jeremy Allison [Sat, 19 Sep 1998 02:35:43 +0000 (02:35 +0000)]
Remove some byte-copying code in unix_format() that did nothing except
slow down my benchmark :-).

(This used to be commit b55f93b213ee61c35e7a87a2be63191d55186bd6)

24 years agoNow that Alexandre Oliva has explained the use of acconfig.h to
Jeremy Allison [Fri, 18 Sep 1998 21:57:12 +0000 (21:57 +0000)]
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 :-).

(This used to be commit 89a4a73caf474e59f239f50ad6d93e5df66ae300)

24 years agoFixed position of LARGE_SMB_OFF_T definition. The SOFF_T define was
Jeremy Allison [Fri, 18 Sep 1998 18:30:42 +0000 (18:30 +0000)]
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.

(This used to be commit c6a353cfabd99be0ce5bf508d716216443a44c20)

24 years agoChanged variable TAB to htab as TAB is defined in a header file on RedHat5.1
Jeremy Allison [Fri, 18 Sep 1998 18:16:45 +0000 (18:16 +0000)]
Changed variable TAB to htab as TAB is defined in a header file on RedHat5.1
(This used to be commit 43ac52ad7a3c1da3c25a63d0458c87f9367453ec)

24 years agoFixed problems with premature kernel oplock checkin code.
Jeremy Allison [Fri, 18 Sep 1998 18:09:17 +0000 (18:09 +0000)]
Fixed problems with premature kernel oplock checkin code.
The ./configure & build now seem to work ok.

(This used to be commit 7c1a5ed1c2a55543d3f3c8bbd38e6c9c35b80390)

24 years agoconfigure include/ include/includes.h
Jeremy Allison [Fri, 18 Sep 1998 17:50:18 +0000 (17:50 +0000)]
configure include/ 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

(This used to be commit f939efac9e6c45331b17e3d3aa6bc2235e886c1a)

24 years agoFixed compile errors in new code.
Jeremy Allison [Fri, 18 Sep 1998 17:32:35 +0000 (17:32 +0000)]
Fixed compile errors in new code.
(This used to be commit dbd8ce8a7053b6ea051e9bbdd0ddc27f1e0cb7c2)

24 years agopreparing for release of 2.0.0 alpha 6
Samba Release Account [Fri, 18 Sep 1998 14:05:05 +0000 (14:05 +0000)]
preparing for release of 2.0.0 alpha 6
(This used to be commit 008697d151e54b141b062956cf521b04111073f2)

24 years agooops ... I got the filenames wrong in my cleanup of the wins database
Andrew Tridgell [Fri, 18 Sep 1998 13:52:30 +0000 (13:52 +0000)]
oops ... I got the filenames wrong in my cleanup of the wins database
save, so it started saving weird filenames (from an unitialised

chaos reigns!
(This used to be commit 20a550d61e322cc9a0acfdf8fb974dafe0cd9603)

24 years agoAdding rewritten restore code ... Old code is still there
Richard Sharpe [Fri, 18 Sep 1998 12:47:46 +0000 (12:47 +0000)]
Adding rewritten restore code ... Old code is still there
surrounded by a OLD_DOTARPUT.
(This used to be commit 00ba54d4ee9ad875c5cfbee09d4b745df5f116ab)

24 years agogot rid of SMB_STRUCT_STATVFS. I don't think we should be defining
Andrew Tridgell [Fri, 18 Sep 1998 03:53:14 +0000 (03:53 +0000)]
got rid of SMB_STRUCT_STATVFS. I don't think we should be defining
structures that only apply on some platforms.
(This used to be commit 926591067cd8646426ca06df0b00a1d6f6dd5752)

24 years agogto ri of a bunch more #ifdef LARGE_SMB_OFF_T checks by introducing a
Andrew Tridgell [Fri, 18 Sep 1998 03:00:20 +0000 (03:00 +0000)]
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.
(This used to be commit 4e784b18899eddd2399a51fa7d8c219560432922)

24 years agoadded a SMB_OFF_T_BITS define, allowing us to get rid of most of the
Andrew Tridgell [Fri, 18 Sep 1998 02:30:03 +0000 (02:30 +0000)]
added a SMB_OFF_T_BITS define, allowing us to get rid of most of the
#ifdefs for LARGE_OFF_T.
(This used to be commit 724b9508c2d15bafdad5912fce702108fdd4cac3)

24 years agofixed a typo (LLARGE_SMB_OFF_T instead of LARGE_SMB_OFF_T)
Andrew Tridgell [Fri, 18 Sep 1998 02:28:21 +0000 (02:28 +0000)]
fixed a typo (LLARGE_SMB_OFF_T instead of LARGE_SMB_OFF_T)
(This used to be commit 3e77d94cd2d693490265b60ad7c576a25902d8ea)

24 years agoremoved another use of the LL suffix. Hopefully this is the last one
Andrew Tridgell [Fri, 18 Sep 1998 02:27:24 +0000 (02:27 +0000)]
removed another use of the LL suffix. Hopefully this is the last one
(a grep doesn't show any more)
(This used to be commit c1bd188744b0df950f2e00550c25f7d3e148094b)

24 years agofixed a usage of off_t that should have been SMB_OFF_T
Andrew Tridgell [Fri, 18 Sep 1998 02:26:36 +0000 (02:26 +0000)]
fixed a usage of off_t that should have been SMB_OFF_T
(This used to be commit 24ae7657011929fd3529caa909f3afe866186cd2)

24 years agogot rid of some #ifdef LARGE_XXXX stuff and got rid of non-portable LL
Andrew Tridgell [Fri, 18 Sep 1998 02:21:07 +0000 (02:21 +0000)]
got rid of some #ifdef LARGE_XXXX stuff and got rid of non-portable LL
suffix from some constants.
(This used to be commit 84956eddf32aa66c787ec76bdb60d2843fa7a025)

24 years agoinclude/includes.h:
Jeremy Allison [Fri, 18 Sep 1998 00:30:28 +0000 (00:30 +0000)]
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.
(This used to be commit 14c134e8316687aa5a4ee089c2acfa6428faceae)

24 years agonmbd/nmbd_winsserver.c: Fixed printf style warning.
Jeremy Allison [Fri, 18 Sep 1998 00:12:15 +0000 (00:12 +0000)]
nmbd/nmbd_winsserver.c: Fixed printf style warning.
script/mkproto.awk: Added SMB_BIG_UINT.
(This used to be commit c22c40f0caa7d6a9e8120e6415fa728db708db3e)

24 years agoconfigure Added checks for statvfs64. Last bit of 64 bit widening ...
Jeremy Allison [Thu, 17 Sep 1998 23:06:57 +0000 (23:06 +0000)]
configure Added checks for statvfs64. Last bit of 64 bit widening (I hope :-).
include/ 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
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.
(This used to be commit c512b1b91fb7f2a7a93b9033a33e06d966daadb4)

24 years agoconfigure Added tests for fseek64 and ftell64.
Jeremy Allison [Thu, 17 Sep 1998 19:16:12 +0000 (19:16 +0000)]
configure Added tests for fseek64 and ftell64. 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.
(This used to be commit c381d32e3dc23fe887408016cae821aceb30da2c)

24 years agoconfigure, Added fseek64 and ftell64.
Jeremy Allison [Thu, 17 Sep 1998 19:09:16 +0000 (19:09 +0000)]
configure, Added fseek64 and ftell64. 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.
(This used to be commit 9c8ecd994d43ec64f46ef54e608acb651a9d67e1)

24 years agopreparing for release of 2.0.0 alpha 5
Samba Release Account [Thu, 17 Sep 1998 08:35:56 +0000 (08:35 +0000)]
preparing for release of 2.0.0 alpha 5
(This used to be commit 1c627b8f39e0a219ea333d39228a3edbcc8ea666)

24 years agofixed another potential fork bomb where the wins file becomes
Andrew Tridgell [Thu, 17 Sep 1998 08:35:07 +0000 (08:35 +0000)]
fixed another potential fork bomb where the wins file becomes
non-writeable for some reason.
(This used to be commit 9edd43dcd6cc040416f11e00320c53682558fd8a)

24 years agofixed the nmbd fork bomb. It was a silly mistake, as
Andrew Tridgell [Thu, 17 Sep 1998 08:27:46 +0000 (08:27 +0000)]
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 :)
(This used to be commit 5e6488d4830016ea720a644c1b1ae25b336d3b8b)

24 years agofixed a typo in my last commit
Andrew Tridgell [Thu, 17 Sep 1998 08:23:00 +0000 (08:23 +0000)]
fixed a typo in my last commit
(This used to be commit 31b4048362c63ab19e9ef35453c3763eec8b8f2b)

24 years agofixed a potential problem with wins_write_database() child processes.
Andrew Tridgell [Thu, 17 Sep 1998 06:36:08 +0000 (06:36 +0000)]
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.
(This used to be commit 1e1a512e3ff59f962fb3de382f671618bed60839)

24 years agoRemoved hideous inefficiencies in old trim_string code. This was making
Jeremy Allison [Tue, 15 Sep 1998 01:38:10 +0000 (01:38 +0000)]
Removed hideous inefficiencies in old trim_string code. This was making
calls to strlen() a profiling hotspot.
(This used to be commit ffa450acddb7aec6a440ae3fe6032c109805d176)

24 years agoMapped correct open modes for READ_CONTROL access.
Jeremy Allison [Mon, 14 Sep 1998 20:43:50 +0000 (20:43 +0000)]
Mapped correct open modes for READ_CONTROL access.
(This used to be commit 4a62b73633b8f8707a2961b355d4997f429c86bc)

24 years agoFixed problems people were having with creating profile
Jeremy Allison [Mon, 14 Sep 1998 19:49:55 +0000 (19:49 +0000)]
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.

(This used to be commit 68750d8153f01bd0802bb86e93c3ca5d11acb199)

24 years agoOk so with this bugfix 64 bit file access actually seems to work :-).
Jeremy Allison [Fri, 11 Sep 1998 21:42:18 +0000 (21:42 +0000)]
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 !).

(This used to be commit 54dd51176fbab18af0b21bdee71b53f8f86573a8)

24 years agoOk - this is the 'expose 64 bit to the clients' checkin.
Jeremy Allison [Fri, 11 Sep 1998 19:14:27 +0000 (19:14 +0000)]
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.

(This used to be commit 1654faee80648583e6a47ab7eda990fefdf85124)

24 years agoAdded ssize_t to configure code.
Jeremy Allison [Fri, 11 Sep 1998 01:24:30 +0000 (01:24 +0000)]
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.....

(This used to be commit 36544fe5476f7770bd5748574fc54be7b3ee4d4a)

24 years agosmb.h: Removed fdnum from file_fd_struct. Not needed.
Jeremy Allison [Thu, 10 Sep 1998 18:57:06 +0000 (18:57 +0000)]
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
(This used to be commit 069efc04545d5fdfc5c40467b8b7554ed5226a2e)

24 years agofixed a bug in the wins database writer that caused the database to be
Andrew Tridgell [Thu, 10 Sep 1998 04:00:09 +0000 (04:00 +0000)]
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 :)
(This used to be commit 1b07de7079e81da9c0b930bdc30ae0451b57d53a)

24 years agoImproved stat cache code by uppercasing any search name that gets added to
Jeremy Allison [Thu, 10 Sep 1998 00:35:10 +0000 (00:35 +0000)]
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 :-).
(This used to be commit 02b3fddce33a58a4db2102670b502fc0c6f45fab)

24 years agoCopyright notices written to debug logs are now through 1998.
Christopher R. Hertel [Wed, 9 Sep 1998 16:37:54 +0000 (16:37 +0000)]
Copyright notices written to debug logs are now through 1998.

Chris -)-----
(This used to be commit ac13c29d46f564fc340b652b4b71dfa92e4b5b16)

24 years agoAdded back groupname map stuff removed by Andrew's "slash 'n' burn"
Jeremy Allison [Tue, 8 Sep 1998 19:21:04 +0000 (19:21 +0000)]
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.

(This used to be commit 0de01f45980c7bc261248a9cead972a8d8cbd594)

24 years agoadded 0x10 to the frag length in the "bind ack".
Luke Leighton [Mon, 7 Sep 1998 17:01:52 +0000 (17:01 +0000)]
added 0x10 to the frag length in the "bind ack".
(This used to be commit 46301b1d2161317f56049934a9e7b658447b2c76)

24 years agoAdding header and footer html files for SWAT, adding samba.gif file too.
John Terpstra [Sun, 6 Sep 1998 05:50:18 +0000 (05:50 +0000)]
Adding header and footer html files for SWAT, adding samba.gif file too.
(This used to be commit c9a9fd131ba65cfde3a20d0ff5ff690064ef6c99)

24 years agoadd a "stat cache" boolean smb.conf option. (defaults to on)
Andrew Tridgell [Sun, 6 Sep 1998 01:37:14 +0000 (01:37 +0000)]
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.
(This used to be commit c83f3775cd8a7aad13571926cdd5949a07538771)

24 years agofixed a stat cache bug (the one found by Matthew Geier).
Andrew Tridgell [Sat, 5 Sep 1998 15:31:10 +0000 (15:31 +0000)]
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
(This used to be commit c96b5fde5ae12bd0d4d6bcff095cf090738c92a4)

24 years agoadded a configuration summary at the end of ./configure. It also
Andrew Tridgell [Sat, 5 Sep 1998 13:53:13 +0000 (13:53 +0000)]
added a configuration summary at the end of ./configure. It also
aborts if essential functions are not available.
(This used to be commit 5c7717f033f670f587b4a250d0a663cad30824e5)

24 years agoexpand the sysv shmem test to look for semaphores as well as shared
Andrew Tridgell [Sat, 5 Sep 1998 13:35:54 +0000 (13:35 +0000)]
expand the sysv shmem test to look for semaphores as well as shared
memory. Some FreeBSD systems have sysv shared memory but no
(This used to be commit 3f4959a065ed987a8254903a5aaf6234bb88ad5c)

24 years agosome cleanups to use ZERO_STRUCT() and friends
Andrew Tridgell [Sat, 5 Sep 1998 13:24:20 +0000 (13:24 +0000)]
some cleanups to use ZERO_STRUCT() and friends
(This used to be commit 7b154dc4313324dfad6cf0117b8ce246bf12bf16)

24 years agosome people are foolishly running ./configure from other than the
Andrew Tridgell [Sat, 5 Sep 1998 13:21:57 +0000 (13:21 +0000)]
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.
(This used to be commit ead0338ad27f29f1abbbe9f6302d6bf633bf98b2)

24 years agoahh, the joy of deleting large chunks of code that someone else has
Andrew Tridgell [Sat, 5 Sep 1998 05:23:29 +0000 (05:23 +0000)]
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 :)
(This used to be commit 41f0069afc02169932e04ff0039bb6328eaaf04d)

24 years agotridge the destroyer returns!
Andrew Tridgell [Sat, 5 Sep 1998 05:07:05 +0000 (05:07 +0000)]
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

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

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)

24 years agoFixed one more Debug problem with inode in non-64 bit case.
Jeremy Allison [Sat, 5 Sep 1998 03:38:50 +0000 (03:38 +0000)]
Fixed one more Debug problem with inode in non-64 bit case.
(This used to be commit 94d63cc382ac0d8a523db98b93750225082b09b1)

24 years agoBugfix for leak in reference counted file struct.
Jeremy Allison [Sat, 5 Sep 1998 03:14:40 +0000 (03:14 +0000)]
Bugfix for leak in reference counted file struct.
Added "nt smb support" parameter to allow NT SMB's to be turned off.
(This used to be commit 63f65f5027d5022153fa2757b49c56829db1725b)

24 years agogot rid of interpret_security(). Thanks to Jean-Francois for pointing
Andrew Tridgell [Sat, 5 Sep 1998 01:12:07 +0000 (01:12 +0000)]
got rid of interpret_security(). Thanks to Jean-Francois for pointing
out it is no longer used (replaced by enumerated types in loadparm.c)
(This used to be commit 88df8a8b25921389ee9d017b770bbae143cc51b8)

24 years agoModified dev_t and ino_t code to be 64 bit clean (including changes
Jeremy Allison [Fri, 4 Sep 1998 20:53:58 +0000 (20:53 +0000)]
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

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

(This used to be commit 5910d07bbf45a34d3c901461f74704c029a79474)

24 years agoFixed uppercasing of share name (pointed out by Jean-Francois).
Jeremy Allison [Fri, 4 Sep 1998 16:06:04 +0000 (16:06 +0000)]
Fixed uppercasing of share name (pointed out by Jean-Francois).
(This used to be commit dcce6b98d847d02148fb2ab15f8430b870e106bd)

24 years agoMore 64 bit stuff - now the fcntl locks are 64 bit clean.
Jeremy Allison [Fri, 4 Sep 1998 00:23:28 +0000 (00:23 +0000)]
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....
(This used to be commit 422f1dd45074c0e28203aca5952e57bbe56676b6)

24 years agoOk - this is the 64 bit widening check in. It changes the configure
Jeremy Allison [Thu, 3 Sep 1998 18:40:31 +0000 (18:40 +0000)]
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 :-).

(This used to be commit 14500936c321d15995c963766aac67bf1f4e3824)

24 years agochanged the SMBtrans reply code to align at the same alignment as
Andrew Tridgell [Thu, 3 Sep 1998 05:37:15 +0000 (05:37 +0000)]
changed the SMBtrans reply code to align at the same alignment as
observed from NT. We were aligning the data before but not the
parameters. This aligns both.

This change may break some other parts of ipc.c if we have relied on
the alignment somewhere, so if you think this broke something then let
me know.
(This used to be commit d252d331015b7606618ba1422bb669da003da293)

24 years agowe were setting the strings 1 too long in make_srv_share_info1_str()
Andrew Tridgell [Thu, 3 Sep 1998 05:35:13 +0000 (05:35 +0000)]
we were setting the strings 1 too long in make_srv_share_info1_str()
(This used to be commit 29e1e59db8035e0fd2c088a969fa17549ce1b897)

24 years agofixed a bug in the name mangling code. It implicitly assumed that
Andrew Tridgell [Thu, 3 Sep 1998 03:14:31 +0000 (03:14 +0000)]
fixed a bug in the name mangling code. It implicitly assumed that
mangling a name can't increase it's size which isn't true. (imagine a
file called "L B" which mangles to "LB~XX")

The symptoms were that users couldn't run batch files from short
directory names that contained non 8.3 characters (such as spaces).
(This used to be commit c319d8ea3f8b42bb3a8e501642971ed0bdb21583)

24 years agoFix for PR#9497 - not waiting for child.
Jeremy Allison [Wed, 2 Sep 1998 17:23:41 +0000 (17:23 +0000)]
Fix for PR#9497 - not waiting for child.
(This used to be commit e817d836bba3aaf0f732d66bc5a4383a7f7005db)

24 years agowe are never interested in SIGPIPE so just ignore (block) it
Andrew Tridgell [Wed, 2 Sep 1998 05:00:47 +0000 (05:00 +0000)]
we are never interested in SIGPIPE so just ignore (block) it
always. Don't even install a handler.
(This used to be commit 72c383f4b7bcce5374632dc972df16ab0e2542b9)

24 years agochanged ref to samba.gif to use /swat/ prefix
Andrew Tridgell [Wed, 2 Sep 1998 02:12:07 +0000 (02:12 +0000)]
changed ref to samba.gif to use /swat/ prefix
(This used to be commit f297662d64da9423e3d2efc6c602e40613c4236e)

24 years agouse /swat/ prefix in both inetd and cgi modes, to enable a static header.html
Andrew Tridgell [Wed, 2 Sep 1998 02:02:30 +0000 (02:02 +0000)]
use /swat/ prefix in both inetd and cgi modes, to enable a static header.html
(This used to be commit ddb788c24d043b18506138a7759b8128df1673aa)

24 years agoMissed one struct stat.
Jeremy Allison [Tue, 1 Sep 1998 20:17:16 +0000 (20:17 +0000)]
Missed one struct stat.
(This used to be commit 03ae657a36c986ba4248b297e64ec7898a1914e6)

24 years agoMore abstraction of file system data types, to move to a 64
Jeremy Allison [Tue, 1 Sep 1998 20:11:54 +0000 (20:11 +0000)]
More abstraction of file system data types, to move to a 64
bit file interface for the NT SMB's.

Created a new define, SMB_STRUCT_STAT that currently is
defined to be struct stat - this wil change to a user
defined type containing 64 bit info when the correct
wrappers are written for 64 bit stat(), fstat() and lstat()

Also changed all sys_xxxx() calls that were previously just
wrappers to the same call prefixed by a dos_to_unix() call
into dos_xxxx() calls. This makes it explicit when a pathname
translation is being done, and when it is not.

Now, all sys_xxx() calls are meant to be wrappers to mask
OS differences, and not silently converting filenames on
the fly.

(This used to be commit 28aa182dbffaa4ffd86047e608400de4b26e80eb)

24 years agoMatthew is no longer wokring on SWAT
Andrew Tridgell [Tue, 1 Sep 1998 07:10:44 +0000 (07:10 +0000)]
Matthew is no longer wokring on SWAT
(This used to be commit 8bd2cf0eb7533c3ec2d5767163ffdaf20b01bbff)

24 years agoneed to istall new files
Andrew Tridgell [Tue, 1 Sep 1998 06:03:52 +0000 (06:03 +0000)]
need to istall new files
(This used to be commit c53ead308e941baa4524b9ec62d74290ce91503f)

24 years agospruced up SWAT a bit - it now uses the new Samba logo at the top and
Andrew Tridgell [Tue, 1 Sep 1998 06:03:03 +0000 (06:03 +0000)]
spruced up SWAT a bit - it now uses the new Samba logo at the top and
a table to give it a little border
(This used to be commit d35c6e80988d96049d4624b47ae9ea015edafc59)

24 years agofixed a bug in the base64 hanlding that led to auth failures for some
Andrew Tridgell [Tue, 1 Sep 1998 06:01:19 +0000 (06:01 +0000)]
fixed a bug in the base64 hanlding that led to auth failures for some
passwords with SWAT
(This used to be commit edcde70108ab643a29f3e0e0cc97609287da6e87)

24 years agocheck that a valid pipe is passed before doing a pipe close.
Andrew Tridgell [Tue, 1 Sep 1998 01:10:01 +0000 (01:10 +0000)]
check that a valid pipe is passed before doing a pipe close.

I made this change after getting a segv in reply_pipe_close(). The
funny thing was that pipes_open was 1 and Pipes was NULL. That "can't
happen" and suggests that we have a wild pointer somewhere.

I suspect the rpc code, as I was playing with long share names (a
share called "averylongusername") at the time and the logs show lots
of srvsvc operations. I bet there is a buffer in the rpc code
somewhere that is overflowing and trashing bits of the data segment.
(This used to be commit 9fee8c2eb7bd05431cd9bcfbed3804c8ca1ee593)

24 years, configure: include/ Added stropts and poll.
Jeremy Allison [Mon, 31 Aug 1998 20:20:54 +0000 (20:20 +0000)], configure: include/ Added stropts and poll.
include/smb.h: Moved old typedefs of uint8 etc. into include/includes.h where
               all the other defines live (changed them from typedefs to
Other changes : changed from using uint32 to SMB_DEV_T and SMB_INO_T
in preparation for moving to size independed (ie. 64 bit clean) device
and inode access. Stat call wrapper comes next :-).

(This used to be commit 3d9ec96de5e04e83abafe9c5d980bd39eee856ea)

24 years agoI added notes about the changes I've made to 2.0.0. I put the change to
Christopher R. Hertel [Mon, 31 Aug 1998 14:46:19 +0000 (14:46 +0000)]
I added notes about the changes I've made to 2.0.0.  I put the change to
nmbd default behavior (appending to logs instead of overwriting them) into
the "Major Changes" section, but added a "Minor Changes" section for the
things that wouldn't affect the running of Samba itself (eg., the splay
tree for WINS and the change to DEBUG output).

Chris -)-----
(This used to be commit d4b714a6be9ccf8a66d7abe0d6d14a810a5f182a)

24 years agoI looked at the refresh issue a bit more and discovered that Samba
Andrew Tridgell [Mon, 31 Aug 1998 09:38:50 +0000 (09:38 +0000)]
I looked at the refresh issue a bit more and discovered that Samba
also doesn't switch to a registration if a refresh fails, instead the
name is removed! This makes it even more imortant that a Samba WINS
server accepts refresh requests as registration requests if the name
is not registered. I've gone ahead and implemented this.
(This used to be commit 07f825fc9491bb5adac047854e67c63f7757143b)

24 years agominor fixes to the DMB<->DMB sync code. We now get the dmb name from
Andrew Tridgell [Mon, 31 Aug 1998 07:23:11 +0000 (07:23 +0000)]
minor fixes to the DMB<->DMB sync code. We now get the dmb name from
the local_master name on the unicast subnet if it is unknown.
(This used to be commit 222b6d90e09288091028f5e0435f1d4a74153f66)

24 years agoif an address is ipzero in cli_connect() then do a name query
Andrew Tridgell [Mon, 31 Aug 1998 07:21:54 +0000 (07:21 +0000)]
if an address is ipzero in cli_connect() then do a name query
(This used to be commit 0a5718b0aef29706be81a50f2ac2c5eb4c6fbb32)

24 years agoI realised that my DMB<->DMB sync code has the property that the
Andrew Tridgell [Mon, 31 Aug 1998 06:59:23 +0000 (06:59 +0000)]
I realised that my DMB<->DMB sync code has the property that the
amount of network traffic grows as the square of the number of
workgroups. It probably wouldn't have caused problems but to be safe I
changed the code to use random() to decrease the probability of a
DMB<->DMB sync in proportion to the number of known workgroups. This
keeps the nice browse connectivity while making the traffic rise only
linearly with the number of workgroups.
(This used to be commit 685f4ef2e1f83ab39e91229cf53a61eecb6181eb)

24 years agopreparing for release of 2.0.0 alpha 1
Samba Release Account [Mon, 31 Aug 1998 05:26:18 +0000 (05:26 +0000)]
preparing for release of 2.0.0 alpha 1
(This used to be commit d7e50f0111f6c65b9d6f8654684e7fc5a1e7ea32)

24 years agopreparing for release of 2.0.0 alpha
Samba Release Account [Mon, 31 Aug 1998 05:23:33 +0000 (05:23 +0000)]
preparing for release of 2.0.0 alpha
(This used to be commit 70b8c9f05e96a3b3107e66ca32d532133bec8082)

24 years agofixed a comment
Andrew Tridgell [Mon, 31 Aug 1998 05:21:39 +0000 (05:21 +0000)]
fixed a comment
(This used to be commit 560ed560f46e69255b6437e50ba0865b642c38b1)

24 years agoupdated the WHATSNEW in preparation for an alpha release
Andrew Tridgell [Mon, 31 Aug 1998 05:21:09 +0000 (05:21 +0000)]
updated the WHATSNEW in preparation for an alpha release
(This used to be commit 2f09b68e52a3af712d86732ed674e1e616768d65)

24 years agoset a maximum name refresh time of 20 minutes.
Andrew Tridgell [Mon, 31 Aug 1998 04:19:31 +0000 (04:19 +0000)]
set a maximum name refresh time of 20 minutes.

The previous code was strictly correct, but not very practical. self
names were only refreshed every 3 days. I hit a situation where the
Samba WINS server was restarted after deleting wins.dat and didn't
notice some remote subnets (also running Samba). I realised that the
complete database wouldn't have been rebuilt for 3 days, which is way
too long. In order to recover from WINS restarts we need a much
shorter maximum refresh time.
(This used to be commit 1d23dd0912e81ff72695bd043e8e2aee32da18a8)

24 years agocast the qsort to prevent warnings
Andrew Tridgell [Mon, 31 Aug 1998 03:13:20 +0000 (03:13 +0000)]
cast the qsort to prevent warnings
(This used to be commit 55333edd2eed33961ced4eb4b6898f5ca9ca1820)

24 years agobounds check next_token() to prevent possible buffer overflows
Andrew Tridgell [Mon, 31 Aug 1998 03:11:42 +0000 (03:11 +0000)]
bounds check next_token() to prevent possible buffer overflows
(This used to be commit 3eade55dc7c842bdc50205c330802d211fae54d3)

24 years agoadded a dest_port parameter to send_mailslot() so we send replies to
Andrew Tridgell [Sun, 30 Aug 1998 17:04:24 +0000 (17:04 +0000)]
added a dest_port parameter to send_mailslot() so we send replies to
the correct port in environments like ip masq.
(This used to be commit 7d455ee637b6ff70c95845f89d71573ca07b83f3)

24 years agoa couple of debug lines
Andrew Tridgell [Sun, 30 Aug 1998 16:33:48 +0000 (16:33 +0000)]
a couple of debug lines
(This used to be commit 03d343ddf5ef672afb3cf1fa65f86eb2c0a48772)

24 years agofinished the asynchronous browse synchronisation code. It even seems
Andrew Tridgell [Sun, 30 Aug 1998 15:58:17 +0000 (15:58 +0000)]
finished the asynchronous browse synchronisation code. It even seems
to work (not a lot of testing yet though).

Now we just need to deal with people worried about having more than
two nmbd processes sometimes. (the async processes are created on
demand for browse sync, so you'll only see more than 2 occasionally)
(This used to be commit a350a54680e4170e2adf571b010ea508e7291780)

24 years agoThis should fix the zombie problem that luke noticed.
Andrew Tridgell [Sun, 30 Aug 1998 12:32:45 +0000 (12:32 +0000)]
This should fix the zombie problem that luke noticed.
(This used to be commit 425ccf9271ea44879d0940b9d95ae9b8f95aa092)

24 years agowe we have successfully done a query on *<1b> from a wins server and
Andrew Tridgell [Sun, 30 Aug 1998 09:50:45 +0000 (09:50 +0000)]
we we have successfully done a query on *<1b> from a wins server and
then obtained a node status response we need to remember the server
name of the master browser so that other browse clients asking us for
a workgroup list will get a entry for the master of that workgroup.
(This used to be commit 601f995ffbfa0ee477ea628d92b9660d6bdd8cbc)

24 years agochanged the way that name query records are sorted in replies. They
Andrew Tridgell [Sun, 30 Aug 1998 08:45:23 +0000 (08:45 +0000)]
changed the way that name query records are sorted in replies. They
are now sorted by the number of common leading bits in the IP address
with the address of the querying host.
(This used to be commit 4460a1bc6aa7666d1c71d32ba73855d6ed32320a)

24 years agoinclude our netbios names list and our workgroup in the wins.dat hash
Andrew Tridgell [Sun, 30 Aug 1998 06:49:14 +0000 (06:49 +0000)]
include our netbios names list and our workgroup in the wins.dat hash
(This used to be commit f555a76df696a0625acc16fa365dc048e0c2447d)

24 years agodon't put two spaces at the start of lines if logging to stdout
Andrew Tridgell [Sun, 30 Aug 1998 05:57:21 +0000 (05:57 +0000)]
don't put two spaces at the start of lines if logging to stdout
or not timestamping.
(This used to be commit 70ed0ec202c50655e3ba99535b06ad918409051e)

24 years agochanged the format of the wins.dat file slightly.
Andrew Tridgell [Sun, 30 Aug 1998 05:43:59 +0000 (05:43 +0000)]
changed the format of the wins.dat file slightly.

It now has a line like this:

VERSION 1 251152

the first number is a version #define in nmbd_winsserver.c and will be
used if we ever have to change the format again.

The second number is a hash of the current interfaces setting. It is
used to detect the case where nmbd is restarted on a machine after the
IP of the machine has changed (or the interfaces list has changed in
any way). When that happens we need to discard the old wins.dat cache
or you end up with chaos. This has bitten quite a few people, they
find that when they move a machine it continues using the old IP for
some things for the next week until the wins entries time out!

I've checked, and the old nmbd can handle the new format, although it
does spit out a spurious error message about the VERSION line. So
users can safely run 2.0alpha then switch back to 1.9.18 without
(This used to be commit c4a8cdc60a5b01894ab2456e77b6d89d4c16a088)

24 years agoallow smbclient to connect to IPC$ as an IPC service
Andrew Tridgell [Sun, 30 Aug 1998 04:37:07 +0000 (04:37 +0000)]
allow smbclient to connect to IPC$ as an IPC service
(This used to be commit 275679db29f2630a16cd5e9f4b5346ac834a484f)

24 years ago- zero shared memory before freeing it
Andrew Tridgell [Sun, 30 Aug 1998 04:35:54 +0000 (04:35 +0000)]
- zero shared memory before freeing it

- changed the hash size to 13 (much smaller than before). This should
  make for more efficient shared memory usage as it will lead to less
(This used to be commit 9c1e4c2dae6323c9a1bd74148d0b45aac61e7c0a)

24 years agoadded a function zero_free(void *, int size) that zeros an area of
Andrew Tridgell [Sun, 30 Aug 1998 04:31:55 +0000 (04:31 +0000)]
added a function zero_free(void *, int size) that zeros an area of
memory then frees it. Useful for catching bugs.
(This used to be commit 99782754f79f3795f81cbf57caeb0925f6a66c10)

24 years agochanged the size of a char array in the userdata_struct from 1 to 16
Andrew Tridgell [Sun, 30 Aug 1998 04:30:57 +0000 (04:30 +0000)]
changed the size of a char array in the userdata_struct from 1 to 16
to account for padding/alignment issues. Eventually I'd like to find a
way to get rid of this construct altogether as it is a bit error
prone and hard to debug.

also added a new macro:

ZERO_STRUCTP() that takes a pointer to a structure and zeros the
structure. Used in nmbd to zero allocated structures before freeing
them to try to catch bugs a bit faster.
(This used to be commit d3dda65d5177154e2128f50ca3dd34e8e13b6b08)

24 years agoadded some defensive programming to nmbd. This mostly means zeroing
Andrew Tridgell [Sun, 30 Aug 1998 04:27:26 +0000 (04:27 +0000)]
added some defensive programming to nmbd. This mostly means zeroing
areas of memory before freeing them.

While doing this I also found a couple of real bugs. In two places we
were freeing some memory that came from the stack, which leads to
a certain core dump on many sytems.
(This used to be commit c5e5c25c854e54f59291057ba47c4701b5910ebe)

24 years agogot rid of calls to update_protected_database(). It was causing core
Andrew Tridgell [Sat, 29 Aug 1998 14:08:17 +0000 (14:08 +0000)]
got rid of calls to update_protected_database(). It was causing core
dumps. It is gone until someone can tell us why its needed and what it
does. (It was only used on OSF1 and core dumped there anyway!)
(This used to be commit a564e4662711d384069757ce3ee5adcadc1b061d)

24 years agodon't exit on a SIGPIPE
Andrew Tridgell [Sat, 29 Aug 1998 03:10:39 +0000 (03:10 +0000)]
don't exit on a SIGPIPE
(This used to be commit f18b4e95bffb25fa016dd6e7f9a128a9fc69466f)

24 years agoThis checking fixes the statcache bug that stopped NetBench from running
Jeremy Allison [Fri, 28 Aug 1998 21:46:29 +0000 (21:46 +0000)]
This checking fixes the statcache bug that stopped NetBench from running
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.

(This used to be commit 779b924ec1f6c81ff578d22295b20fece698d1fc)