1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-05 21:57:51 +03:00

532 Commits

Author SHA1 Message Date
Jeremy Allison
0fcf167af8 local.h: Added NTFS define if HAVE_NT_SMBS is defined.
nttrans.c: Fixed issue with access DELETE on renaming files.
Jeremy.
-
Jeremy Allison
3e5cada988 Makefile: Added nttrans.o
includes.h: Added termios.h for AIX.
nttrans.c: Working NT SMB calls !
pipes.c: Use strequal instead of strcmp.
server.c: Use #defines rather than numbers.
smb.h: Updated NT SMB #defines.
Jeremy.
-
Jeremy Allison
559a9bf2bb Makefile: Added CC=gcc to DGUX on Intel. Comment from ross@filmworks.com.
ipc.c:
loadparm.c:
printing.c:
           Added code from <Dirk.DeWachter@rug.ac.be> to implement print
           queue pausing. New parameters are "queuepause command" and
           "queueresume command".
util.c: Added fix for mount options in autmount map.
lib/rpc/include/rpc_misc.h: Removed duplicate pipe names for Jean-Francois.
Jeremy.
-
Christopher R. Hertel
7f7e265ab4 util.c: I've added a function called mem_dup(). Similar to strdup(),
mem_dup() allocates the required memory before copying the
         source data.  It returns NULL if memory could not be allcoated,
         else a pointer to the newly allocated memory.
proto.h: Rebuilt to add the prototype for mem_dup().
-
Jeremy Allison
b398f7daf5 nntrans.c: Fully implemented transact rename.
reply.c: Added NT specific rename if exists flag to rename_internals().
smb.h: Added NT rename flag.
Jeremy.
-
Jeremy Allison
fb19dad88e nttrans.c: More NT SMB stuff.
reply.c: Broke out the internals of reply_mv so that they may be called
         externally from the NT transact rename.
server.c: Changed stat calls to sys_stat - found in code review
          of bugfix.
Jeremy.
-
Jeremy Allison
556254d725 NT SMB trans reply code.
Jeremy.
-
Jeremy Allison
6055be064e includes.h: Fixes for QNX 4.x.
Jeremy.
-
Jeremy Allison
108284cc28 Fix for pidfile startup message.
Jeremy.
-
Jeremy Allison
1925a29c6b chgpasswd.c: Fix from Peter Debus <pdebus@turing.une.edu.au> for Digital UNIX
password change core dump bug.
nmbd_subnetdb.c: Make namelist_entry_compare() static.
nttrans.c: More NT SMB stuff.
Jeremy.
-
Jeremy Allison
ce2503fddd includes.h: AIX fix.
nttrans.c: More NT SMB work.
smb.h: More NT SMB defines.
trans2.c: Change call response as I now have docs
          on what the flags mean. #ifdef it with JRATEST
          until I'm sure it's ok though.
Jeremy.
-
Jeremy Allison
e53f4396ea nttrans.c: More code towards NT protocol.
smb.h: More code towards NT protocol.
time.c: Fix for sco bug.
Jeremy.
-
Jeremy Allison
1fcb094ba0 nisppass.c: Fixed incorrect parameter usage.
nmbd_become_lmb.c: Add 'force_new_election' parameter to some functions.
                   This allows the start of the election to be done *after*
                   the demotion from local master browser is done.
                   Also changed code so release of 1d name is done
                   immediately to allow other local master to gain it.
nmbd_elections.c: Ensured no elections are run until we have registered
                  the WORKGROUP<1e> name that we must listen on to participate
                  in elections.
nmbd_incomingdgrams.c: Use force_new_election code.
nmbd_namelistdb.c: Make update_name_in_namelist static.
nmbd_subnetdb.c: Fix bug in comparison function. We cannot use memcmp
                   as structure packing may make this fail.
nmbd_packets.c: Ensure that we only send one release packet when
                sending a broadcast packet.
nmbd_workgroupdb.c: Ensure we put the correct value in the ElectionCriterion field.
nmblib.c: Ensure make_nmb_name zero's the struct nmb_name.
Jeremy.
-
Richard Sharpe
dc9436bae4 Remove the copyright to Canon Information Systems Australia, as we don't
want them to have the copyright.

Added a new DOSERR response code that Win95 returns, unimp, unimplemented.

Added code to ignore errors on setting remote time, as Win 95 does not like
the time being changed on a directory.  Win NT and Samba are OK at this.

This is the next to last clean-ups here. Next is to properly handle restore
times on directories (except for Win95--see above).

Now have Jay's changes in and have fixed a bug reported by Tim Lee.
-
Jeremy Allison
d23b443225 clientgen: Added USE_SSL for client shutdown.
clitar.c: Added 'Samba style' comments before string_create_s().
loadparm.c: Fixed missing comma in SSL code.
util.c: Removed string_create_s(). Currently it's only called from
        clitar.c and having it here as well as a static in clitar
        causes the compile to break (Richard, please decide where
        you want this function).
lib/rpc/parse/parse_net.c: Fix from <anders.blomdell@control.lth.se>
                           to stop coredump on missing parameter.
Jeremy.
-
Richard Sharpe
c63e679337 Damn, forgot the proto file again -
Jeremy Allison
31e768369f Added SSL support from Christian Starkjohann <cs@obdev.at>
This patch may not yet compile with -DUSE_SSL enabled, further
Makefile changes may be needed. But it was important to get
this code in place before I go off to USENIX.
Jeremy.
-
Jeremy Allison
8216363e83 client.c: Made -L do a null-session share unless -U user is specified.
clientutil.c: Fixed NT session to add NT password.
groupname.c: Added lookup function.
Jeremy.
-
Jeremy Allison
21ca6bfb3b Makefile:
smbumount.c: Added fixes to compile under Linux.
includes.h: Added SunOS 4.x QSORT_CAST fix.
reply.c: Fixed user name mapping function for security=server, security=domain.
Jeremy.
-
Jeremy Allison
beef636a4d Makefile: Added ubi_sLinkList.o as the groupname.o file needs it. Added groupname.o
includes.h: Added ubi_sLinkList.h include.
loadparm.c: Added groupname map parameter.
password.c: Fix HPUX big_crypt.
username.c: New user_in_list() code. Moved groupname map code to groupname.c
lib/rpc/server/srv_util.c: Added lookup_wellknown_sid_from_name().

New groupname map stuff. Note that nothing currently uses this but at
compiles ok.

Jeremy.
-
Christopher R. Hertel
0b35065d0c This is the first, small step toward some tweaks that Jeremy and I have
been discussing regarding the debug mechanism.  With this, I've added a
macro that allows syntax like:

  if( DEBUGLVL( 3 ) )
    {
    Debug1( "message" );
    Debug2( "message" );
    }

The next step is to incorporate timestamps.

Chris -)-----
-
Jeremy Allison
fa95fae5ee ipc.c: map_username is now a BOOL function.
reply.c: map_username is now a BOOL function.
server.c: Added capability to do map_username on service names
          when looking for a home directory. That's what the
          original code would do.
lib/rpc/server/srv_util.c: Changed domain_ to builtin_ for
                           BUILTIN aliases.
username.c: Work in progress on groupname map parameter.
Jeremy
-
Christopher R. Hertel
7fb9cf4d57 Removed directory-relative include references. This required that I add
a -I$(srcdir)ubiqx to CFLAGS in the Makefile.  It might be better to
create a UBIDIR value.  What would people like to see?

Chris -)-----
-
Jeremy Allison
6d94e67624 Minor changes as I've now discovered gcc -pedantic-errors. This
does the signed/unsigned warnings I've been missing.
Jeremy
-
Christopher R. Hertel
7806c453df I've replaced the linked list used to manage the subnet namelists with a
splay tree.  For short lists, this will have no noticable effect.  As
lists (eg. the WINS database) grow longer, the speed improvements should
be quite dramatic.  This change is an incremental step toward replacing
the in-memory namelists with a back-end database.

This change is going into the 1.9.19pre-alpha code because...well...it's
pre-alpha.  Please let me know if there are any problems.

(Oh, as a side-effect, the wins.dat will be in sorted order.  :)

Chris -)-----
-
Jeremy Allison
34c91840a3 loadparm.c: Removed 'domain other sids' parameter.
lib/rpc/include/rpc_lsa.h: Changed #defines for RPC calls - moved some, made LSA_LOOKUPNAMES correct.
lib/rpc/include/rpc_misc.h: Changed DOMAIN_ALIAS_xxx to BUILTIN_ALIAS_xxx.
                            Changed bitmasks for uid to rid to be 1 bit.
lib/rpc/parse/parse_misc.c: Changed make_unistr2 to put length as given, max length as one more.
lib/rpc/server/srv_netlog.c: Removed 'domain other sids' parameter.
lib/rpc/server/srv_samr.c: Changed DOMAIN_ALIAS_xxx to BUILTIN_ALIAS_xxx.
lib/rpc/server/srv_util.c: Changed DOMAIN_ALIAS_xxx to BUILTIN_ALIAS_xxx.
Jeremy.
-
Jeremy Allison
17c758687f Fixed compile problem after make proto.
Chris's reformating of the (rather long named function) find_name_for_remote_broadcast_subnet
(moving the function name onto a line on it's own) caused the proto
awk script to miss it.
Jeremy.
-
Christopher R. Hertel
e420a4bd7d This is a first step toward moving long namelists into a database. I
split the name_record structure into pieces.  The goal is that the key
(the name) be separate from the data associated with the key.  Databases
such as gdbm store information in [key,content] pairs.

There is no functional change in with this update.  It's just a step in
the direction that Jeremy and I have been discussing.

Chris -)-----
-
Christopher R. Hertel
530b54b8a2 Moved the ubiqx stuff above nameserv.h so that ubiqx typedefs could be
seen by the nameserve.h header.
-
Christopher R. Hertel
f128fda8e6 proto.h
*Not* the usual.  I did make proto to add the #ifndef..#endif block.
  Just to be safe, I did a cvs diff and found no prototype changes.

ubiqx/sys_includes.h
  More fudging.  I want to use binary tree typdefs in nameserv.h, but
  nameserv.h is included in includes.h which is included by all of the
  ubiqx modules.  The result is that the types are referenced before
  they are declared.  My solution is to prevent nameserv.h and proto.h
  from being included in the ubiqx modules (where they are not needed
  anyway).

Chris -)-----
-
Luke Leighton
2cb94eec59 had what would be a compile error if it wasn't #if 0'd out in passdb_ops -
Luke Leighton
04b8240072 added "domain admin group" and "domain guest group" parameters. this is
because "domain admin users" and "domain guest users" was overloaded.

incorrectly.
-
Jeremy Allison
2caefb35ff includes.h: Fixes for NetBSD and BSDI.
smbpass.c: Fixed irix warnings.
Jeremy.
-
Christopher R. Hertel
e30a7e023b It occurred to me that the samba includes.h file should be included in the
header files used by the ubiqx modules, instead of being hidden in the .c
files.  This would ensure that anything in includes.h would be "seen" by
the ubiqx headers.  I also had to put an #ifdef around the includes for
ubi_SplayTree.h and ubi_Cache.h in includes.h to prevent the header of the
descendant type from being included before its parent type.

Chris -)-----
-
Jeremy Allison
05c85df3c7 ipc.c: Fix bug where we don't return the correct error code when client
gives a too-small buffer for share info. Fix from Gil Kloepfer <gil@arlut.utexas.edu>
smb.h:
server.c: Fix for a nastly little security problem with multi-user Windows NT
          servers and Samba where the contents of the open-file cache can end
          up being served out to users who shouldn't have access. This is some
          *seriously* ugly code.
Jeremy.
-
Jeremy Allison
34f40474ab clientutil.c: Don't core dump if no controlling terminal available for password.
passdb.c:
lib/rpc/include/rpc_misc.h: First cut at automatic uid/gid to rid mapping.
We can change this at a later date to make more bits available if neccessary.
Jeremy.
-
Jeremy Allison
6baeb4ad96 Ooops - fixed Win95 crash bugs with earlier code.
Jeremy
-
Jeremy Allison
94e3f0d9b4 Newly re-written do_match and mask_match functions, with the
help of Ums Harald <Harald.Ums@pro-sieben.de>, who has been
testing our 8.3 wildcards with a test suite.
With his new code for 8.3 matching, this is the test done
(I'm quoting from his email)

"I tested it by generating a directory with about 7600 Files and run
automatc tests with about 4000 patterns. The result from Win95 -> WinNT
and Win95 -> Samba where identical according to diff."

I have also re-written the long filename wildcard code,
so that doing DIR a*z now matches files :

AAA.BBB.CCCC....ZZZZ

correctly, and other fixes besides.

I sincerely hope I can lay this (horrid) issue to rest
now :-).

Jeremy.
-
Jeremy Allison
b8fedca619 loadparm.c: Added machine password timeout parameter - set to 7 days be default.
password.c: Added code to tell server.c when machine password needs changing.
server.c: Change machine password in idle cycles if it needs it.
smbpassfile.c: Fixed up length calculations for machine password file.
smbpasswd.c: Moved domain joining code/machine password changing code.
lib/rpc/client/cli_netlogon.c: And this is where it now lives.
Jeremy.
-
Jeremy Allison
42a6551106 smb.h: More NT SMB stuff (just defines).
smbpass.c: Do *NOT* make this function static. It breaks the compile on gcc
util.c: Getting closer to MS wildcard semantics. A trailing '*' matches
        any trailing dot-separated components.
trans2.c: Removed hacks that change multiple '?' -> '*' as this
          breaks things now.
trans2.h: Removed NT_FILE_ATTRIBUTE_NORMAL - now FILE_ATTRIBUTE_NORMAL is defined
          in smb.h.
Jeremy.
-
Luke Leighton
dab9728a43 added set logon, logoff, kickoff etc time functions. -
Luke Leighton
bd825f1ef1 - created pdb_sethexpwd(), to be called from all pwd apis that need to
store passwords in ascii format

- dealt with lots of signed/unsigned char thingies spotted by Tim Winders.
-
Jeremy Allison
26c0176e10 Added more NT definitions, getting ready for nttrans code.
Jeremy.
-
Christopher R. Hertel
a1f4c8567c I've put the ubiqx headers back into includes.h, and removed them from
dir.c & mangle.c.  This was possible after I checked the tree code to make
sure that the tree code did not reference functions by macro name.  Also,
note that the AVL module has been removed to prevent conflict with the
SplayTree macro defines.

Chris -)-----
-
Christopher R. Hertel
2b6be7084d Removed all ubiqx includes from includes.h. So far, this was only a problem
for dir.h, which I've fixed.  Andrew did not add includes.h to the ubiqx
headers, which is good because it would cause internal conflicts within the
ubiqx tree modules.  It's also bad because the definitions and includes
that are part of includes.h are now in the ubiqx C files, but not in the
header files.  So, if includes.h were to redefine int, for example, the
new definition would be in the ubiqx C files, but not in the headers.

So, until Andrew and I can work something out that we both agree upon,
there are three basic rules:

1) Don't include includes.h in the ubiqx headers.  Problems may arise.
2) The ubiqx headers must follow includes.h in any Samba module that
   uses them.

This can and should all be worked out.  We just have to talk about it.

Chris -)-----
-
Luke Leighton
8e11d542ee dce/rpc net time command from jean-francois. does not support timezones -
Jeremy Allison
cd244b45a5 passdb.c: Fixed typo in coment.
smb.h: Removed comments no longer valid.
smbpass.c: Stopped dummy function from being prototyped.
util.c: Fix for multibyte char problems with strlower, strupper
and string_replace.
Jeremy.
-
Luke Leighton
b836581cda oops - got some of the default (conversion) functions wrong. -
Luke Leighton
d906ac5941 removed "default" system for password database api: all functions must
be supported.  there are some stub routines in passdb.c which can be
copied into a password database api which do conversion.  the module
writer can choose which of these to provide full support for instead
of using the conversion routines.
-
Luke Leighton
0193dd21c3 ldap.c :
- added support for some of the new passdb_ops functions.

	- removed functions that are supported "indirectly" through passdb.c

nisppass.c :

	- modified make_nisname_from_xxx() functions to take a "file" arg.

	- turned getnisp21pwuid() into getnisp21pwrid().  getnisp21pwuid()
	  functionality is available through "indirect" support in passdb.c

	- removed functions that are supported "indirectly" through passdb.c

	- added support for some of the new passdb_ops functions.

passdb.c :

	- created getsam21pwrid() function to go alongside getsam21pwuid.
	  it is not expected that getsam21pwuid ever be used, certainly
	  not from the lib/rpc code.

	- created getsamdisprid() and getsamdispent().  these are primarily
	  for support of SamrQueryDisplayInfo, however given that they
	  [struct sam_disp_info] return username, rid and fullname, there may
	  be further instances where these functions will be useful.

	- added support where either the get/add/mod-smb or get/add/mod-sam21
	  functions are optional.  this can be done very easily by checking
	  whether the struct passdb_ops table functions are NULL or not.

	  documented this capability in the notes at the top of the module.

	- where unix uid was referenced, use uid_t.

	- where unix gid was referenced, use gid_t.

smb.h :

	- added sam_disp_info functions to passdb_ops.

	- added getsam21pwrid() function.

smbpass.c :

	- added reference to iterate_getsam21pwrid().

lib/rpc/server/srv_samr.c :

	- removed group rid code added to get_user_info_21() code: this
	  had been added in the wrong place.  the client / server should
	  already know whether it wants to do a lookup by user rid or
	  by group rid.

	  the test of whether the rid is a user or group rid has been left
	  in because this may become useful consistency-check code.

	- converted back to getsam21pwrid() not
	  getsam21pwuid(pdb_user_rid_to_uid()).

	  this is because the unix uid to user rid mapping can be non-monotonic
	  in some password database systems, and monotonic in others.  imposing
	  the restriction by converting immediately from rid to uid at this
	  point is inadviseable, and will place this potential restriction on
	  _all_ password database systems, not just some which, for whatever
	  reason, do not support user rids.

	  it should be up to the individual password database writer to
	  convert from user rid to unix uid, should that module not support
	  rids.

lib/rpc/server/srv_util.c :

	- got lookup_user_name() to call getsamdisprid() not getsmbpwuid().
	  a bug was introduced (or at least the bug already there was not
	  fixed) whereby the nt user rid was converted to a unix uid, and
	  then not used.
-