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

601 Commits

Author SHA1 Message Date
Andrew Tridgell
f1451f5d2e get includes right for systems that use getpwanam()
(This used to be commit afe98165a261a740cd0ee88bf041d69721ec72e6)
1998-08-26 02:36:27 +00:00
Andrew Tridgell
54499a925c took all the rpc includes back out until we can work out _why_ freebsd
needs them and what should really be there.
(This used to be commit c2bf18fb8d2fea5af86ba8cf5d92b1dc076dd7d5)
1998-08-26 02:02:55 +00:00
Luke Leighton
3131d67cfd added loads of pointless rpcsvc/ and rpc/ include files, all because
rpcsvc/ypclnt.h wants a struct dom_binding.  knock-on include effect under
freebsd 2.1.
(This used to be commit d1005b5692e41660a2a7230231b0591aa0773485)
1998-08-25 13:17:04 +00:00
Andrew Tridgell
0d35fe8992 proto changes
(This used to be commit e4f81f4a230130f53857e3664e6d83ce252c207e)
1998-08-25 06:52:26 +00:00
Andrew Tridgell
2c065107b1 changed the default permissions code to do this:
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)
1998-08-25 06:40:42 +00:00
Jeremy Allison
8afc9c80ac Changed ASSERT macros to SMB_ASSERT macros as some systems already
have an ASSERT macro defined.
Jeremy.
(This used to be commit dbe6ad014a8b5dcbf17d7cd9865650c2e040d666)
1998-08-24 21:49:10 +00:00
Luke Leighton
0e877bd53b resource.h on FreeBSD 2.1 requires sys/time.h to come first.
(This used to be commit e94ab03a4f97ff7ee7bb938245cf054a00f950fd)
1998-08-24 18:53:37 +00:00
Andrew Tridgell
3f3f47b0bd added ASSERT() and ASSERT_ARRAY() macros and sprinkled them liberally
in the rpc code.
(This used to be commit e6ce1c5b5a9f29d8fcbbd23019186ff5c600e795)
1998-08-22 02:54:21 +00:00
Andrew Tridgell
bce4d95ca9 expanded MAX_LOOKUP_SIDS to 30 (I saw 21 in a packet)
(This used to be commit bd9290c36c9993a994e485da0a81df926f8662e4)
1998-08-22 02:52:25 +00:00
Andrew Tridgell
038e3433d3 added new smb.conf option "panic action". see my samba-technical
explanation.
(This used to be commit c6899df44c34088a4d2bf1edc840320b0ba7e32e)
1998-08-21 11:37:40 +00:00
Andrew Tridgell
7d657984bb added a macro ZERO_STRUCT() which is useful for initialising
structures declared on the stack.
(This used to be commit f323af8fce54cd5d51c848aa7ea7be4dd3538f2e)
1998-08-21 09:43:21 +00:00
Jeremy Allison
dc76502cd8 Turning on blocking locking code. NB. Blocking lock requests that are not
the head of an SMB request (ie. are part of a chain) will not be queued -
this will be fixed when we move to the new chain code. In practice, this
doesn't seem to cause much of a problem (in my admittedly limited testing)
bug a debug level zero message will be placed in the log when this
happens to help determine how real the problem is.

smbd/locking.c: New debug messages.
smbd/blocking.c: New blocking code - handles SMBlock, SMBlockread and SMBlockingX
smbd/chgpasswd.c: Fix for master fd leak.
smbd/files.c: Tidyup comment.
smbd/nttrans.c: Added fnum to debug message.
smbd/process.c: Made chain_reply() use construct_reply_common(). Added blocking
                lock queue processing into idle loop.
smbd/reply.c: Added queue pushes for SMBlock, SMBlockread and SMBlockingX.
Jeremy.
(This used to be commit e1dd03ecda0bc6d7eaa31070c83774bb5679fd1b)
1998-08-20 19:28:37 +00:00
Andrew Tridgell
8487f959d1 added a test for a working setresuid
(This used to be commit dbe333b590ef004ccbd31a14ad161d73139b2486)
1998-08-19 15:01:03 +00:00
Jeremy Allison
12de4034c7 Makefile.in: Moved blocking lock code into smbd/blocking.c for link purposes.
include/includes.h: Added nterr.h.
locking/locking.c: Moved blocking lock code into smbd/blocking.c for link purposes.
smbd/close.c: Added blocking lock removal to file close.
smbd/filename.c: Tidied up unix_convert() so I could read it (:-) in preparation
                 for the stat_cache code.
smbd/nttrans.c: Added WRITE_ATTRIBUTES check.
smbd/reply.c: Fixed multibyte char problem in wildcard mask.
Jeremy.
(This used to be commit 148eaba3dadb1d0bd3ac3ef53da3d9811636e89a)
1998-08-19 01:49:34 +00:00
Jeremy Allison
b935fc0862 Fixed bug introduced by the recent changes where the chain_fnum
could be overwritten in oplock processing code.
Jeremy.
(This used to be commit 908a583b48e37c5e869216f4dc92d4a587ff1238)
1998-08-17 22:59:53 +00:00
Andrew Tridgell
c3effa8b59 this completes the splitup of server.c.
the splitup was done with an axe, not a scalpel, so there are some
rough edges. I mostly wanted to get the general form right with fine
tuning of what goes where to come later. Still, this is better than
what we had before where server.c was a general repository for
anything that didn't fit elsewhere.
(This used to be commit a6d194886a4a5f7507fa37289ff96c1be56f14a6)
1998-08-17 13:11:34 +00:00
Andrew Tridgell
0922615405 more splitting of server.c
created dosmode.c and filename.c
(This used to be commit 534a90ca44641417c21f6ed6d4b94b1de60f808d)
1998-08-17 07:40:06 +00:00
Andrew Tridgell
4c5c26b1ef now that we have no global arrays we can start to split up the monster
server.c without breaking things.

this splits off netprot.c and fileio.c for negprot and read/write/seek
handling respectively.
(This used to be commit b3d7014643ec9f2eef6e6f598f5b9db1fe2f930d)
1998-08-17 07:15:54 +00:00
Andrew Tridgell
72ed7049d8 added some optimisation for the case where the number of open files is
very large. files.c now promotes a files_struct to the top of the list
if it is used when it is more than 10 elements from the top.

also moved common linked list code for the 5 sets of linked lists that
I've created over the past few days into dlinklist.h (I've explained
to Chris why I didn't use the ubiqx code)
(This used to be commit 1eb9ae2996b5a243a147f485e7e353d54f820852)
1998-08-17 06:47:53 +00:00
Andrew Tridgell
983dc71c98 moved connection_struct handling code into smbd/conn.c and changed it
to a linked list with bitmap format.
(This used to be commit b7aaab1b6b2d2f72b2bb7c11f5c7bf081a6093d9)
1998-08-17 06:13:32 +00:00
Andrew Tridgell
4a68715c25 converted the policy code to use a linked list and bitmap. This saves
us a bit of memory.
(This used to be commit 27da84b90df1f32e0d07acad04c72065b2005470)
1998-08-17 04:54:06 +00:00
Andrew Tridgell
8978aae696 much cleaner chain pointer handling for both files and pipes.
the chain pointer is now stored as a static and is set whenever a
handle is created or extracted. This also makes the code less error
prone.
(This used to be commit 068a862982bea726e8d7b1b4065d510b9840a272)
1998-08-17 03:52:05 +00:00
Andrew Tridgell
f2d538a105 some cleanups from the conversion of Pipes[] to a linked list. I also
removed most cases where a pnum is used and substituted a pipes_struct*.

in files.c I added a offset of 0x1000 to all file handles on the
wire. This makes it much less likely that bad parsing will give us the
wrong field.
(This used to be commit 8bc2627ff28d340db65bfa017daca2dc291d5ef7)
1998-08-17 03:06:20 +00:00
Andrew Tridgell
c5e2c883c0 I think it is pretty much decided that the next major version will be
2.0, so I've updated version.h to reflect this. I've put in
"2.0.0-prealpha".
(This used to be commit f1c67a00b8603bf1a9e6bef680c0d563727ba108)
1998-08-16 13:02:35 +00:00
Andrew Tridgell
23294e6fc1 added include of sys/resource.h
(This used to be commit bf136b4fa8aeadcea8f65610148d46d093aba2cc)
1998-08-16 05:22:01 +00:00
Andrew Tridgell
739d0b1ddc got rid of the Files[] array completely (previously I'd just made it
private to files.c)

It now is a doubly linked list with a bitmap for allocated file
numbers. Similarly for the fd_ptr code. I also changed the default
maximum number of open files to 4096. The static cost is 1 bit per
file.

It all seems to work, and it passes the "does Sue scream" test, but if
you see weird behaviour then please investigate. With the volume of
new code that has gone in there are bound to be one or two bugs
lurking.

note that you must do a "make clean" before building this as many data
structures have changed in size.
(This used to be commit 79755ce97004b787d7e83a8d18fc4c7c003b7231)
1998-08-16 04:08:47 +00:00
Andrew Tridgell
a7acf10566 server.c: fixed a bug in close_file() with the new files.c handling code
bitmap.c: added bitmap hanlding code in preparation for increasing the
          default max open files to several thousand
(This used to be commit f573a65b67e7a57586fec57845598e49b157ee0a)
1998-08-16 03:04:06 +00:00
Andrew Tridgell
127655cc88 this checkin gets rid of the global Files[] array and makes it local
in files.c

it should now be faily easy to expand the default MAX_OPEN_FILES to
many thousands.
(This used to be commit b088c804f98908eb02f05ab2f2e8a61691a0a582)
1998-08-15 07:27:34 +00:00
Andrew Tridgell
570f8e9a77 moved the printing related files to a separate printing/ directory.
(This used to be commit d933a47be6fa7b5f161179fa11244aaba1051160)
1998-08-15 03:26:52 +00:00
Jeremy Allison
e13aeea928 configure: Changes for extra headers.
configure.in: Source for header changes.
client/clitar.c: Fixed isXXX macros & debugs for gcc pedantic compile.
include/config.h.in: Added MEMSET, BZERO, MEMORY, RPCSVC_YPCLNT, STRINGS headers.
include/includes.h: Headers for the above.
include/smb.h: Made SIGNAL_CAST POSIX by default void (*)(int).
lib/access.c: Fixed isXXX macros & debugs for gcc pedantic compile.
lib/charset.c: Fixed isXXX macros & debugs for gcc pedantic compile.
lib/debug.c: Fixed signal functs.
lib/kanji.c: Fixed isXXX macros & debugs for gcc pedantic compile.
lib/smbrun.c: Fixed isXXX macros & debugs for gcc pedantic compile.
lib/util.c: Fixed isXXX macros & debugs for gcc pedantic compile.
libsmb/namequery.c: Fixed isXXX macros & debugs for gcc pedantic compile.
locking/shmem.c: Fixed isXXX macros & debugs for gcc pedantic compile.
locking/shmem_sysv.c: Fixed error messages in sysV stuff.
nmbd/asyncdns.c: Fixed signal functs.
nmbd/nmbd.c: Fixed isXXX macros & debugs for gcc pedantic compile.
passdb/passdb.c: Fixed isXXX macros & debugs for gcc pedantic compile.
passdb/smbpassfile.c: Fixed isXXX macros & debugs for gcc pedantic compile.
smbd/chgpasswd.c: Fixed isXXX macros & debugs for gcc pedantic compile.
smbd/ipc.c: Fixed isXXX macros & debugs for gcc pedantic compile.
smbd/nttrans.c: Fixed fsp code path.
smbd/password.c: fixed HAVE_YP_GET_DEFAULT_DOMAIN problem.
smbd/printing.c: Fixed isXXX macros & debugs for gcc pedantic compile.
smbd/reply.c: Fixed isXXX macros & debugs for gcc pedantic compile.
smbd/server.c: Fixed isXXX macros & debugs for gcc pedantic compile.
smbd/trans2.c: Fixed core dump bug.
smbd/uid.c: Fixed isXXX macros & debugs for gcc pedantic compile.
Jeremy.
(This used to be commit 1b9cbcd02e575dc0a95fa589f720df30a4acc46b)
1998-08-15 01:19:26 +00:00
Andrew Tridgell
b9623ab59e this is the bug change to using connection_struct* instead of cnum.
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)
1998-08-14 17:38:29 +00:00
Andrew Tridgell
2bb8f8ce43 define INADDR_NONE if not already defined
(This used to be commit 7446540017e29827900981cab5ae3a2f9f7b3ce6)
1998-08-14 06:25:26 +00:00
Jeremy Allison
3cf6cc6134 Makefile.in: Changed so that make proto will work with ldap & nisplus.
locking/locking.c: Made #ifdef'ed out functions static for Make proto.
lib/util.c: Re-instated old mask_match code for UNIX filesystem checks
            only. Client calls use the new mask_match code. Changed the
            name of the old function to unix_mask_match.
Jeremy.
(This used to be commit b68e756ff57622c6c74f28031d4be964d7b1c9bc)
1998-08-14 02:02:40 +00:00
John Blair
c629b4c53f Added the APPLEDOUBLE macro for the name of the directory containing
a file's Macintosh resource fork (normally .AppleDouble under Netatalk).
(This used to be commit 1313451f2161f69d33e7f1d41a1bf5615f61014c)
1998-08-13 18:56:09 +00:00
Jeremy Allison
5a5b4258ed HAVE_STATVFS should be STAT_STAVFS (caused printing to break on IRIX).
Jeremy.
(This used to be commit 83c54b01ba6c891a0587a80aa083594ddda9a680)
1998-08-13 16:20:37 +00:00
Jeremy Allison
b1778b6b57 include/smb.h: Removed dir_ptr. Not needed.
locking/locking.c: First cut a blocking lock code. #ifdef'ed out for now.
locking/locking_shm.c: Removed dir_ptr. Not needed.
smbd/nttrans.c: More work on ChangeNotify - return is not an error and needs
                to be handled as a nttrans with zero params. Removed dir_ptr. Not needed.
smbd/reply.c:
smbd/server.c:
smbd/trans2.c: Removed dir_ptr. Not needed.

Hmmm. At the moment smbclient is broken - doesn't issue prompt correctly.
This needs looking at.

Jeremy.
(This used to be commit ddfbcc05815621d3c463f92faed047f126412342)
1998-08-11 23:28:35 +00:00
Christopher R. Hertel
a0082c340a I've come up with a different scheme for doing the DEBUG() and DEBUGADD()
macros that meets the RVALUE requirement and doesn't use the (a?b:c) format
that Andrew called "ugly".  I've added the new macros but kept the old
macros within a #if 0..#else..#endif block in case I've missed somthing.

Basically, I've used

  (void)( (a) && (b) )

or

  (void)( (a) && (b) && (c) )

instead of

  ( (a) ? (void)(b) : (void)(c) )

or similar.  I have this compiled and running now.

Here's the diff:

$ cvs diff smb.h
Enter passphrase for RSA key 'crh@Ruby':
Index: smb.h
===================================================================
RCS file: /data/cvs/samba/source/include/smb.h,v
retrieving revision 1.172
diff -r1.172 smb.h
143a144,145
> #if 0
>
150a153,164
>
> #else
>
> #define DEBUG( level, body ) \
>   (void)( (DEBUGLEVEL >= (level)) \
>        && (dbghdr( level, FILE_MACRO, FUNCTION_MACRO, (__LINE__) )) \
>        && (dbgtext body) )
>
> #define DEBUGADD( level, body ) \
>   (void)( (DEBUGLEVEL >= (level)) && (dbgtext body) )
>
> #endif

Chris -)-----
(This used to be commit 53b433e6ab9fd69a02016ee4f2a3f756640ea565)
1998-08-11 18:56:03 +00:00
Christopher R. Hertel
7938e492ba Removed a stray semicolon in the DEBUGADD() macro.
(This used to be commit efa67d6b2b6d4a1e007dba5f2f5da5aff723fe59)
1998-08-11 15:54:15 +00:00
Jeremy Allison
9042aa41c3 Makefile.in: Added CHECK target back in (at Herb's request). Added
manpath in (although we don't currently use it).
client/client.c: Added John Blair's fixes for "put -".
include/nterr.h: Added NT_STATUS_NOTIFY_ENUM_DIR error code.
smbd/nttrans.c: Added in devious fix for one-shot NT change notify bug.
Jeremy.
(This used to be commit 4ac3091e57e9ab234b3c051333ba521a92defa99)
1998-08-11 02:13:01 +00:00
Jeremy Allison
17fb3a2304 Makefile.in: Fixed make clean bug with CVS directory in bin/.
include/smb.h: Fixed bugs in Debug macro's with SGI compiler.
smbd/trans2.c: Fixed bug reported by Zoltan Palmai <ZSPA@chevron.com>
               PR#8903 where get_lanman2_dir_entry() could return a
               mangled name as a resume key and call_trans2findnext()
               wasn't doing the same.
Jeremy.
(This used to be commit 9d010e721c27af1d9498fd1e147993ba8ac8b41e)
1998-08-10 20:12:53 +00:00
Andrew Tridgell
670c6addc3 moved access.c into lib/ from smbd/ as it is needed by testparm. I
modified it not to need any smbd specific structures and instead pass
things from smbd.
(This used to be commit 162141d3b3fcf53fbc6a1f18702df85c2b7f1781)
1998-08-10 07:29:57 +00:00
Andrew Tridgell
fa88efbbac split the system password checking routines out of smbd/password.c and
into passdb/pass_check.c. This means SWAT no longer needs to link to
smbd/password.c
(This used to be commit 90d93889d722670cbb517017531264630af759bf)
1998-08-10 07:04:53 +00:00
Andrew Tridgell
59e2e2c7d8 a few more things compile.
I'll do the rest tomorrow.
(This used to be commit b92ce41c54fa187bce3287257996f7a3e9c9b9ff)
1998-08-09 14:58:51 +00:00
Andrew Tridgell
723b9d0d5b swat compiles, with some even uglier hacks. we really have to do
something about our dependencies between seemingly unrelated code.
(This used to be commit 3ecfd271de5e6f7b4868800e7c06d51ed69278fd)
1998-08-09 14:37:32 +00:00
Andrew Tridgell
19c965894d nmbd compiles and links. I had to do some ugly stuff, putting files in
illogical places. Once I get everything compiled these will need to be
revisited, but at least the new Makefile.in makes it really obvious
what is out of place.
(This used to be commit beef5341fc313249bf1117deccb9c21c510c4697)
1998-08-09 14:20:02 +00:00
Andrew Tridgell
ea6a257fca close to having nmbd linking (just a bit of repository hacking to go)
(This used to be commit 34dd9b79457ab01637e0d7374d33cafe2f859c99)
1998-08-09 14:08:42 +00:00
Andrew Tridgell
35f815d278 this gets smbd compiling and linking correctly with the new layout.
(This used to be commit d08fa39cec5c71a9034dbf4241fc7e195f1bbaa5)
1998-08-09 13:25:34 +00:00
Andrew Tridgell
5a5049cd77 removed the if statements from the DEBUG() macro definitions.
Chris, you should never put if statements in macros, use the ugly
(a?b:c) form instead, otherwise you can produce incorrect code when
you have things like:

if (foo)
   DEBUG((blah));
else
   DEBUG((blooh));
(This used to be commit ab912448c1ff2487b6a313574d72f389baa65e6d)
1998-08-09 13:12:09 +00:00
Andrew Tridgell
87bcd5502c added ignore rules for the dummy files
(This used to be commit 687f76a17d6d3ebd33b4d9a848deef56f3c1f56a)
1998-08-09 11:25:49 +00:00
Andrew Tridgell
426de6f97f the autoconf scripts are now converted to the new directory structure
now the Makefile .....
(This used to be commit 4fae7f129e46930960831af0da28496f9766f6ae)
1998-08-09 11:23:13 +00:00