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

3733 Commits

Author SHA1 Message Date
Jeremy Allison
768761820e Added the same open()/fopen()/creat()/mmap() -> sys_XXX calls.
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)
1998-11-17 20:50:07 +00:00
Luke Leighton
74d539f557 - group database API. oops and oh dear, the threat has been carried out:
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)
1998-11-17 16:19:04 +00:00
Jeremy Allison
f4447df41b Added fixes for machine accounts.
Jeremy.
(This used to be commit 7aa644c2f996433f8ec125bfd4221aec49bece2b)
1998-11-16 20:19:57 +00:00
Andrew Tridgell
2db96e3047 fixes for OSF1 compilation
(This used to be commit 5be3c37f50eac35cad3eadf0d24e7a4ee04c075e)
1998-11-13 03:37:01 +00:00
Luke Leighton
31c4953088 sids in rpctorture changed from fstrings to DOM_SID
(This used to be commit bd09e00112fd371aa070b5b47f1d4e27137a7f2e)
1998-11-13 01:08:28 +00:00
Herb Lewis
ea2fa33f65 Removed code that used printf/fprintf in password changin libraries.
Now passes strings instead.
(This used to be commit 48af29bcc9e8094de6ba057a52dbae3c80ea7a05)
1998-11-12 23:49:32 +00:00
Jeremy Allison
3a334e3e6c Fixed smbpasswd so that enabling a user who already has a password
doesn't require a new password entry. Sets the 'enable/disable' code
back to being symmetrical.
Jeremy.
(This used to be commit fa068a6db8da154903fb97a843f261592fcb684a)
1998-11-12 20:22:11 +00:00
Andrew Tridgell
29e36b7134 extracted the password change code from smbpasswd and used it in swat
instead of opening pipes and other horrible stuff.
(This used to be commit 49bf19710345a59a2d17cd449be1a132885ed821)
1998-11-12 07:06:48 +00:00
Andrew Tridgell
4f368d8b92 char -> uchar fix
(This used to be commit badc0f229a2940560b56aafde9824f1b4bd0f7c7)
1998-11-12 06:24:18 +00:00
Andrew Tridgell
d85dcf86d5 largely rewrote smbpasswd so that the code is understandable. This
should allow us to call a function in swat rather than piping to
smbpasswd.

while doing this I also fixed quite a few "const char *" versus "char *" issues
that cropped up while using const to track down bugs in the code. This
led to changes in several generic functions.

The smbpasswd changes should be correct but they have not been
extensively tested. At least if I have introduced bugs then we should
be able to fix them more easily than before.
(This used to be commit 713864dd0322ae2ae2d83e333d85be35a7eed4ec)
1998-11-12 06:12:19 +00:00
Jeremy Allison
375e53826c include/local.h:
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)
1998-11-10 20:51:25 +00:00
Andrew Tridgell
8c62b28e0e converted smbclient to use clientgen.c rather than clientutil.c
I did this when I saw yet another bug report complaining about
smbclient intermittently missing files. Rather than applying more
patches to smbclient it was better to move to the more robust
clientgen.c code.

The conversion wasn't perfect, I probably lost some features of
smbclient while doing it, but at least smbclient should be consistent
now. It if fails it should _always_ fail rather than giving people the
false impression of a reliable utility.

the tar stuff seems to work, but hasn't had much testing as I never
use it myself. I'm sure someone will find bugs in my conversion of
smbtar.c. It was quite tricky as it did a lot of its own SMB calls. It
now uses clientgen.c exclusively.

smbclient is still quite messy, but at least it doesn't build its own
SMB packets.

I haven't touched smbmount as I never use it. Mike, do you want to
convert smbmount to use clientgen.c?
(This used to be commit e14ca7765ace1b721dad8eca4a527a4e4a8f1ab8)
1998-11-09 03:45:49 +00:00
Jeremy Allison
548b417d40 codepages/codepage_def.936: Updated comment.
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)
1998-11-07 05:32:37 +00:00
Jeremy Allison
4bd1feb68c lib/charcnv.c: Improved debug comment.
libsmb/namequery.c: Fix to remove 2 second wait is we are doing a unicast
                    and got a reply.
smbd/dfree.c:
smbd/noquotas.c:
smbd/quotas.c: Fixes from Dejan Ilic <svedja@lysator.liu.se> for the quota
               code.
utils/smbpasswd.c: Fixes to allow smbpasswd to be called from swat.
Jeremy.
(This used to be commit b5981c0149ad8c6f13ea87db450080616538b5d5)
1998-11-06 18:40:51 +00:00
Andrew Tridgell
fa164d91bd check return value of locking_init()
(This used to be commit 0efac70f756dce4c92744fc59b68b528f6984dee)
1998-11-05 12:40:37 +00:00
Jeremy Allison
5f4c35ab21 Added scripting option (-s) to smbpasswd.
Jeremy.
(This used to be commit 4f87a8cf994d7f3287b0fd1720624bf705cfa1da)
1998-11-04 00:57:00 +00:00
Jeremy Allison
01e04614c7 Makefile.in configure configure.in include/proto.h smbd/noquotas.c smbd/quotas.c:
Added quotas patch for autoconf from Dejan Ilic <svedja@lysator.liu.se>.
printing/printing.c: Filenames with spaces patch from Allan Bjorklund <allan@umich.edu>
utils/nmblookup.c: Fix usage() function.
smbd/reply.c: Split out the security=server and security=domain checks into
              check_server_security() and check_domain_security() to aid the
              writing of the 'hack' appliance mode invented by John Schimmel.
Jeremy.
(This used to be commit f09ab9b52251087a58af92ec753537ca34a970fc)
1998-11-03 02:25:28 +00:00
Jeremy Allison
8851d1a150 Fix suggested by Nicholas.S.Jenkins@cdc.com - connect to the
password change server as anonymous - you don't need to have
logged on as the user to do the password change. Doh ! (Why
didn't *I* think of that one.... :-).
Jeremy.
(This used to be commit dd3bb250a6fb6020d32ea35d7a3d3301d7f9764b)
1998-10-30 23:53:04 +00:00
Christopher R. Hertel
f97ceef7ec I've moved the debugparse module files into the ubiqx directory because I
know that 'make proto' will ignore them there.  The debugparse.h header
file is included in includes.h, and includes.h is included in debugparse.c,
so all of the pieces "see" each other.  I've compiled and tested this,
and it does seem to work.  It's the same compromise model I used when
adding the ubiqx modules into the system, which is why I put it all into
the same directory.

Chris -)-----
(This used to be commit b6888faacdba035e1b608a404a71d93791de2d52)
1998-10-28 20:33:35 +00:00
Christopher R. Hertel
e04759fbab Fixed a small bug in debug2html. It wasn't properly checking EOF. The
current status is "it works".  I need to add some syntax error recovery
and a usage message.  Basic stuff.

I've also modified Makefile.in.  If you want to compile it you'll have to
do a 'make debug2html', as I used smbtorture as a model.  We can decide
later if this tool is useful enough to be compiled always.

BTW, a 'make realclean' fails because the bin directory isn't empty.
That's because it doesn't delete optionally compiled files such as
smbtorture and debug2html (and because of the CVS subdirectory, but I
think that's only a problem for developers).

Chris -)-----
(This used to be commit e86fd87a3806f4c161a8f887bbdd4d400ae56ac2)
1998-10-27 23:28:29 +00:00
Christopher R. Hertel
ba91cb69be Here is the simple debug parser and the debug2html converter. Still to do:
* Debug message filtering.
  * I need to add all this to Makefile.in
    (If it looks at all strange I'll ask for help.)

If you want to compile debug2html, you'll need to do it by hand until I
make the changes to Makefile.in.  Sorry.

Chris -)-----
(This used to be commit fae161b9051c3ea8aa129bdb3df11d215007723d)
1998-10-26 23:21:37 +00:00
Andrew Tridgell
fb556e14f3 volker was concerned about unique inode numbers and smbsh. This set of
changes uses the unique index number from a SMB_QUERY_FILE_ALL_INFO to
try to provide inode numbers. If it is 0 then use the hash of the
filename as before.
(This used to be commit 2565ccf9de9d5e80fdb5bcadbc7130faba386d95)
1998-10-24 08:08:05 +00:00
Luke Leighton
95056761c8 torture debug.
(This used to be commit 97609596647dea39c061bdf972411a86f7294521)
1998-10-22 23:05:55 +00:00
Luke Leighton
f0d3a44ffa enumeration tests (files, sessions, shares, connections).
hey, you can see how many connections succeed while the rpctorture
command is running!
(This used to be commit c1bf8f109932a3387fa7b8b4265a3eda52d3e0a3)
1998-10-22 22:54:00 +00:00
Luke Leighton
a0512ce5ff rpctorture command
(This used to be commit b4ae65e2d0582274d67d02ea190f6d3d83b48594)
1998-10-22 22:19:08 +00:00
Andrew Tridgell
e4678f5d1d fixed a connection bug in torture test
(This used to be commit 2b892130dfc1938e93e69e490a8a9e9ed57a1971)
1998-10-20 06:46:25 +00:00
Andrew Tridgell
bad4e66489 added maxfid test
(This used to be commit 710027a88a62565fbbe9eb5787e924d019906841)
1998-10-16 23:08:10 +00:00
Andrew Tridgell
bc747b8a07 set recursion desired for bcast name query
(This used to be commit 53805112f1a301f77cda93b68e6fa3054895f20f)
1998-10-14 16:45:24 +00:00
Luke Leighton
6909350ed9 dce/rpc
(This used to be commit 62fdeef1b79c5c4c9bf0e860881651711bb80b9a)
1998-10-08 23:57:46 +00:00
Andrew Tridgell
a813f38e2d - don't generate 0 params in torture
- handle 0 params in ipc.c
(This used to be commit c0dc8e87f0d56444a8ddff0817a94065ca295847)
1998-10-08 06:49:00 +00:00
Andrew Tridgell
788263ba2f - fixed a bunch of warnings and minor errors
- got smbtorture to compile
- removed %D from some of lukes code - Luke, what is %D? it ain't
  portable anyway
(This used to be commit 91597c12fb593f49b23c7cea5b64dbb89a0428b3)
1998-10-08 06:21:33 +00:00
Andrew Tridgell
4750ce1760 use 1 second resolution calls if possible
(This used to be commit 349469221a84658048790d7567b4fcea43c0b759)
1998-10-08 02:28:21 +00:00
Andrew Tridgell
40984f6b55 - modified resolve_name() to take a name_type
- cleaned up resolve_name() (split into separate functions for each resolver)
- if can't find local master then use #1B name
- support listing of foreign workgroups in /smb/
(This used to be commit a4e607c17d1119925c9d0e1d05e0fe81e9a2d1aa)
1998-10-04 12:00:40 +00:00
Andrew Tridgell
f651787785 added lseek() support for directories
(This used to be commit 67ca971b0b00b5256b0af2c1c5777c393f9cef0b)
1998-10-03 12:33:34 +00:00
Luke Leighton
bdbc959a9a - static function "create_new_hashes" was identical to "nt_lm_owf_gen".
create_new_hashes didn't zero the buffer for the md4hash: nt_lm_owf_gen
  did, because jeremy sorted this out a couple of days ago.  call
  nt_lm_owf_gen instead.

- call SMBOWFencrypt from SMBencrypt and SMBNTencrypt.

- added #ifdef DEBUG_PASSWORD debug password calls.
(This used to be commit a4e7cc3e46b713aa0ae55de74a1c70921bef578d)
1998-10-02 18:45:07 +00:00
Andrew Tridgell
495eedb14f some changes in smbtorture as a result of clientgen interface changes
for smbwrapper

note that Lukes client changes broke smbtorture. This doesn't fix it,
but at least I didn't break it more than it was.
(This used to be commit 252b52091c11d8a6cc9c70f32671aee865ae7b41)
1998-10-02 12:38:45 +00:00
Jeremy Allison
008fd97309 Fixed problems found in lint pass over the old code by <cpeterso@microsoft.com>.
These were the problems that still existed in the 2.0 branch.
Jeremy.
(This used to be commit 3fd28812f75f2311a114ff905143634e3bbb1fac)
1998-09-28 23:55:09 +00:00
Jeremy Allison
cf3a9741dc Changes to test in configure if capabilities are enabled on a system.
Changes to get Samba to compile cleanly with the IRIX compiler
with the options : -fullwarn -woff 1209,1174 (the -woff options
are to turn off warnings about unused function parameters and
controlling loop expressions being constants).
Split prototype generation as we hit a limit in IRIX nawk.
Removed "." code in smbd/filename.c (yet again :-).
Jeremy.
(This used to be commit e0567433bd72aec17bf5a54cc292701095d25f09)
1998-09-28 21:43:48 +00:00
Alexandre Oliva
cf971f88ac automated generation of .dummy files for each subdirectory;
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)
1998-09-28 00:14:36 +00:00
Richard Sharpe
ecd8ca2431 Fixed up more possibly uninitialized variables.
Now only two compilation warnings seem to be left.

Luke may want to check the changes I made.
(This used to be commit 2456c95c1664a57aa939695c884ec666ec8168ec)
1998-09-27 08:29:50 +00:00
Jeremy Allison
5f7ee36056 Makefile.in: Fixed bug with continuation line causing proto to fail.
Added $(PROGS) $(SPROGS) as targets for make clean.
acconfig.h: Added HAVE_IRIX_SPECIFIC_CAPABILITIES.
configure.in: Added sys/capability.h header check.
              Added function checks for srandom random srand rand.
              Added HAVE_IRIX_SPECIFIC_CAPABILITIES test.
includes.h: Added #include <sys/capability.h>.
ntdomain.h: Moved struct acct_info into here from smb.h
smb.h: Added KERNEL_OPLOCK_CAPABILITY define.
       Moved enum action_type into rpcclient.h
       Moved struct cli_state into client.h
       Moved struct nt_client_info, struct tar_client_info, struct client_info
             into rpcclient.h
lib/genrand.c: Changed to use sys_random() & friends.
lib/smbrun.c: Lose capabilities after fork.
lib/system.c: Added set_process_capability(), set_inherited_process_capability()
              sys_random(), sys_srandom().
lib/util.c: Added Ander's EFBIG lock check to fcntl_lock for 64 bit access to an
            32 bit mounted NFS filesystem.
nmbd/nmbd.c: Changed to use sys_random() & friends.
nmbd/nmbd_browsesync.c: Changed to use sys_random() & friends.
passdb/ldap.c: Missed one pdb_encode_acct_ctrl call.
passdb/passdb.c: Changed to Ander's code for ' ' characters.
passdb/smbpass.c: Added Ander's code to reset ACB_PWNOTREQ.
script/mkproto.awk: Added 'long' to prototypes.
smbd/chgpasswd.c: Lose capabilities after fork.
smbd/open.c: Do the mmap *after* the kernel oplock.
smbd/oplock.c: Removed stub code from kernel oplock path.
               Added set_process_capability(), set_inherited_process_capability() calls.
smbd/reply.c: Initialize count = 0, offset = 0.
smbd/server.c: Added set_process_capability(), set_inherited_process_capability() calls.
tests/summary.c: Ensure we have RANDOM or RAND.
utils/smbpasswd.c: Added Ander's code to reset ACB_PWNOTREQ.
utils/torture.c: Changed to use sys_random() & friends.

Jeremy.
(This used to be commit e8be306f23963ac00b1a383ebe0cc1421529fb02)
1998-09-25 23:40:49 +00:00
Luke Leighton
ff07b2e4a3 added wksinfo command to rpcclient, which don't work too good.
(This used to be commit 8d23da91cbd74a45a5b030688fd89d88a25738dc)
1998-09-25 21:20:37 +00:00
Luke Leighton
66d5d73a5d added rpcclient program
(This used to be commit aa38f39d67fade4dfd7badb7a9b39c833a1dd1ca)
1998-09-25 21:01:52 +00:00
Jeremy Allison
dc36d8768a Integration of Anders Blomdell <anders.blomdell@control.lth.se>'s
smbpasswd changes. Not exactly the same as his code - several
changes.
Jeremy.
(This used to be commit e96747a8e3b9ea5a79c4258e55d7e8f3bf0bf193)
1998-09-24 22:33:13 +00:00
Alexandre Oliva
e649750cb4 major autoconf clean-up
fix problems in builds with srcdir!=builddir
(This used to be commit 1ffc3b807a3f80644c974b454ff5e6f68e89b546)
1998-09-21 09:07:08 +00:00
Andrew Tridgell
f6044c87c0 some cleanups to use ZERO_STRUCT() and friends
(This used to be commit 7b154dc4313324dfad6cf0117b8ce246bf12bf16)
1998-09-05 13:24:20 +00:00
Andrew Tridgell
e9ea36e4d2 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?
(This used to be commit 2204475c87f3024ea8fd1fbd7385b2def617a46f)
1998-09-05 05:07:05 +00:00
Jeremy Allison
7bb86c1b13 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.
(This used to be commit 14500936c321d15995c963766aac67bf1f4e3824)
1998-09-03 18:40:31 +00:00
Jeremy Allison
1855627413 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()
calls.

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.

Jeremy.
(This used to be commit 28aa182dbffaa4ffd86047e608400de4b26e80eb)
1998-09-01 20:11:54 +00:00
Andrew Tridgell
61b5fd6f32 bounds check next_token() to prevent possible buffer overflows
(This used to be commit 3eade55dc7c842bdc50205c330802d211fae54d3)
1998-08-31 03:11:42 +00:00