1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-25 06:04:04 +03:00

241 Commits

Author SHA1 Message Date
Tim Potter
06ba5ec75d OK so I shouldn't have added cli_pipe.o to LIBSMB_OBJ.
(This used to be commit a724850eb83e61450f112c0b2e6e3492c2a72863)
2000-12-13 13:04:49 +00:00
Tim Potter
d18fb4a2c9 Add libsmb/cli_lsarpc.o and rpc_client/cli_pipe.o to LIBSMB_OBJ. Not so
sure about the latter...

Modified SMBCACLS_OBJ
(This used to be commit c130d5b0f6a23b4fe19accad8a49ac58a1a8b0b1)
2000-12-13 12:54:57 +00:00
Tim Potter
3478427f2e Port of lsa_lookup_sids() and lsa_lookup_names() rpc client functions from
TNG branch.

Re-instated lsa_lookup_sids and lsa_lookup_names functions in rpcclient.

This requires most samba binaries to link in another handful of object
files due to uncessary coupling between modules.  )-:
(This used to be commit 817819d0cc3ecf642be5a1656be3b71bed260ee4)
2000-12-08 03:34:00 +00:00
Jeremy Allison
70922b9bbe Cause smbd to use the new posix_acls code, not the old unix_acls code.
Currently does exactly the same thing (returns ACLs the same way). This
code is written to try and get a POSIX ACL via the abstract sys_XX interface,
then fall back to providing a UNIX based ACL if the calls fail. Seems to
work. Next step is to add a --with-posix-acls to configure.in and then
check on a POSIX ACL system that a complex ACL is returned correctly
as an NT ACL. Note that the ACL set (a more complex problem) is not
addressed yet.
Jeremy.
(This used to be commit 4339e20202a876dbadc07980b731f711463b7299)
2000-12-06 23:24:31 +00:00
Gerald Carter
e899f04a68 update for new pdbedit tool (code from Simo)
--jerry
(This used to be commit 3d0ecea18d52b7287beede5687c26536413440eb)
2000-12-06 18:24:10 +00:00
Jeremy Allison
7e4c4721b4 Changed to sourceforge tdb code. This includes spinlocks (so we now have
a --with-spinlocks option to configure, this does mean the on-disk tdb
format has changed, so 2.2alphaX sites will need to re-create their
tdb's. The upside is no more tdb fragmentation and a +5% on netbench.
Swings and roundabouts....
Jeremy.
(This used to be commit 9dea7b7c257db487f8ced7dad3fce92fba03ea91)
2000-12-06 00:05:15 +00:00
Andrew Tridgell
bf0f2ea6b6 make sure we don't duplicate object files
(This used to be commit 976b9f6264c1a5af996777ff1d71db0f762cfa9b)
2000-12-03 05:23:46 +00:00
Andrew Tridgell
996bcb55a8 split the RPC_PARSE object into two pieces. The first is included as
part of LIBSMB and the latter is used by parts of samba that know
about the pwd backends
(This used to be commit 3420b52da5957b5bbf0704d1e386349a061f86cf)
2000-12-03 02:15:58 +00:00
Gerald Carter
0dcbafe2b9 Another large patch for the passdb rewrite.
o added BOOL own_memory flag in SAM_ACCOUNT so we could
    use static memory for string pointer assignment or
    allocate a new string

  o added a reference TDB passdb backend.  This is only a reference
    and should not be used in production because
	- RID's are generated using the same algorithm as with smbpasswd
 	- a TDB can only have one key (w/o getting into problems) and we
	  need three.  Therefore the pdb_sam-getpwuid() and
	  pdb_getsampwrid() functions are interative searches :-(

    we need transaction support, multiple indexes, and a nice open
    source DBM.  The Berkeley DB (from sleepycat.com seems to fit
    this criteria now)

  o added a new parameter "private dir" as many places in the code were
    using lp_smb_passwd_file() and chopping off the filename part.
    This makes more sense to me and I will docuement it in the man pages

  o Ran through Insure-lite and corrected memory leaks.  Need for
    a public flogging this time Jeremy (-:



-- jerry
(This used to be commit 4792029a2991bd84251d152a62b1033dec62cee2)
2000-11-21 05:55:16 +00:00
Jeremy Allison
cdac09614e Fix for a problem with the new messaging system. If a sender is using the
messaging system as a notification mechanism, and the speed of notification
greatly exceeds the speed of message recovery, then you get a massively (>75Mb)
growing tdb. If the message is a simple notification, then the message is
static, and you only need one of them in transit to a target process at
any one time.
This patch adds a BOOL "allow_duplicates" to the message_send_XX primitives.
If set to False, then before sending a message the sender checks the existing
message queue for a target pid for a duplicate of this message, and doesn't
add to it if one already exists.
Also added code into msgtest.c to test this.
Jeremy.
(This used to be commit 3aa7995660395ecb85c8e35b638fa9fbbb952558)
2000-11-16 21:38:24 +00:00
Gerald Carter
9fede0dc0d Large commit which restructures the local password storage API.
Currently the only backend which works is smbpasswd (tdb, LDAP, and NIS+)
are broken, but they were somewhat broken before. :)

The following functions implement the storage manipulation interface

/*The following definitions come from  passdb/pdb_smbpasswd.c  */

BOOL pdb_setsampwent (BOOL update);
void pdb_endsampwent (void);
SAM_ACCOUNT* pdb_getsampwent (void);
SAM_ACCOUNT* pdb_getsampwnam (char *username);
SAM_ACCOUNT* pdb_getsampwuid (uid_t uid);
SAM_ACCOUNT* pdb_getsampwrid (uint32 rid);
BOOL pdb_add_sam_account (SAM_ACCOUNT *sampass);
BOOL pdb_update_sam_account (SAM_ACCOUNT *sampass, BOOL override);
BOOL pdb_delete_sam_account (char* username);

There is also a host of pdb_set..() and pdb_get..() functions for
manipulating SAM_ACCOUNT struct members.  Note that the struct
passdb_ops {} has gone away.  Also notice that struct smb_passwd
(formally in smb.h) has been moved to passdb/pdb_smbpasswd.c
and is not accessed outisde of static internal functions in this
file.  All local password searches should make use of the the SAM_ACCOUNT
struct and the previously mentioned functions.

I'll write some documentation for this later.  The next step is to fix
the TDB passdb backend, then work on spliting the backends out into
share libraries, and finally get the LDAP backend going.

What works and may not:

	o domain logons from Win9x 	works
	o domain logons from WinNT 4	works
	o user and group enumeration
		as implemented by Tim	works
	o file and print access		works
	o changing password from
		Win9x & NT		ummm...i'll fix this tonight :)

If I broke anything else, just yell and I'll fix it.  I think it
should be fairly quite.





-- jerry
(This used to be commit 0b92d0838ebdbe24f34f17e313ecbf61a0301389)
2000-11-13 23:03:34 +00:00
Gerald Carter
01e0d3879e TDB password backend support written by Simo Sorce <simo.sorce@polimi.it>
Marked as an experimental compile time option (defaults to off) for now.





jerry
(This used to be commit 0435af4417b876c2ea1dd4591ae7647784c28e30)
2000-10-26 03:31:41 +00:00
Jeremy Allison
a7f8d8b636 Fix to allow smbd to call winbindd if it is running for all group enumeration,
falling back to the UNIX calls on error. This should fix all problems with
smbd enumerating all users in all groups in all trusted domains via winbindd.
Jeremy.
(This used to be commit 54a1ae815b3ebcc7ab98bf0a2a39719ae3b2d5ea)
2000-10-13 01:16:35 +00:00
John Terpstra
96e27b10bf Fixes to allow wins.c to compile to allow building of libnss_wins.so.
(This used to be commit 3fb2e94c4430c570639c0e4d1caeed3a19bbd09b)
2000-10-09 21:44:00 +00:00
Jean-François Micouleau
233bc00020 printer notify code.
It only sends notifies to one client. The broadcasting notify code will
code soon.

	J.F.
(This used to be commit 4c63c9185887c64e57d901e82a4a16a83522c898)
2000-09-25 21:05:18 +00:00
Andrew Tridgell
7be9a4fd4c first cut at smbcontrol program. It currently allows syntax like:
smbcontrol nmbd debug 7
  smbcontrol smbd debug 9
  smbcontrol 3278 debug 1
  smbcontrol nmbd force-election
(This used to be commit 5f91c24636f5d82486f22c10bc55e060f9c518bf)
2000-09-13 07:07:17 +00:00
Andrew Tridgell
3689e4ffc1 the first cut of the internal messaging system.
The motivation for this system is to replace the UDP message for
oplocks, but this commit only does the "set debug level" message.
(This used to be commit 2a34ee95f3929cff131db6c5a2b4820194c05b2d)
2000-09-11 07:02:43 +00:00
David O'Neill
a3a28675fa Changes from APPLIANCE_HEAD (per Tim Potter):
- make proto
	- addition of function to convert from errno values to NT status codes
	  (source/lib/error.c)
	- purge queue done without full access permission will purge only the
	  jobs owned by that user, rather than failing.
	- unlock job database tdb before sending job to printer
	- in print_job_start(), ensure that we don't pick a jobid with an existing
	  temporary file that may be owned by another user, as it causes silent
	  failures.
	- fixes for printer permission checking for NT5 clients
	  (source/include/rpc_spoolss.h, source/printing/nt_printing.c,
	   source/printing/printing.c, source/rpc_server/srv_spoolss_nt.c)
	- change from uint8 to 'enum SID_NAME_USE' (source/rpc_server/srv_lsa.c)
	- fixed memory leaks for win95 driver download process
	  (source/smbd/lanman.c)
	- properly free prs_structs and dacl in testsuite/printing/psec.c
(This used to be commit 74af3e2caec7197e5d1ca389e2f78054a4197502)
2000-09-01 18:49:26 +00:00
Gerald Carter
e0d09910a1 make rpcclent by default.
--jerry
(This used to be commit e89117f418c9c1a1b4f2e9d708030369d801a01c)
2000-08-29 14:32:23 +00:00
Gerald Carter
fca31d804e readded util_list.c (just to the RPCCLIENT_OBJ). I need to split
the file up i think.  Later.



--jerry
(This used to be commit ed54a9f4d154ac56330b23255108447036cbd192)
2000-07-20 13:39:51 +00:00
Christopher R. Hertel
b35f21fb3a First cut toward adding WINS server failover.
*Note: failover doesn't actually work yet!*  It's just that the code I'm
adding provides all of the pieces necessary.

I do have one big question.  Something that I'll have to ask Jeremy, I'm
thinkin'.  In nmbd/nmbd_subnetdb.c the IP of the WINS server is used to
set up the Unicast subnet.

...so what happens if the WINS server changes?

My guess is either:
  a) nothing.
  b) I'd have to change the unicast subnet entry whenever the WINS server
     changes.

Urq.

BTW, the lp_wins_server() function no longer returns the WINS server name
or IP.  It returns the list of WINS servers entered in smb.conf.  To get
the currently 'live' WINS server, use the wins_srv() function.

Fun, eh?

Chris -)-----
(This used to be commit cc08bdc74f4cd111fdc582ee7babef47ed8a950d)
2000-07-19 01:21:30 +00:00
Gerald Carter
6f9afd1766 remove util_list from LIB_OBJS since it broke smbd build
(undefined references in link).  This is a quick fix.
I'll resolve things later.

Sorry everyone.




jerry
(This used to be commit ea64f2525d649c0952af52c2ba21a3bac57b322e)
2000-07-18 19:05:50 +00:00
Gerald Carter
2a922bd09a Added lib/util_list.[c|o] to Makefile.in
--jerry
(This used to be commit 94967b31bbc913d9b45274d9eed846f871b66b6f)
2000-07-18 05:19:29 +00:00
Gerald Carter
6a9db25270 a few changes to Makefile.in to clean up dependencies for rpcclient
--jerry
(This used to be commit 9206d593603af959700794d252da8d07082012ef)
2000-07-14 17:04:57 +00:00
Tim Potter
64299375b5 Moved winbind client functions from various odd locations to
nsswitch/wb_client.c

Merge of nsswitch/common.c rename to nsswitch/wb_common.c from TNG.
(This used to be commit f866c18f6be65db67d9d2a6c0b42e1af3b421e6c)
2000-07-10 05:40:43 +00:00
Gerald Carter
a3deb502e3 Just a few changes due to bringing some partial files back
from TNG to HEAD.



--jerry
(This used to be commit ddef41c13484f488657ea36a510b52cefc7c8643)
2000-07-07 06:24:16 +00:00
Tim Potter
01f7ba69ae Moved lib/util_seaccess.o from LIB_OBJ to SMBD1_OBJ as it is only used by
smbd.
(This used to be commit 539c32fa423bee9be34eeda96fad5398f7cf982b)
2000-07-06 06:43:30 +00:00
Andrew Tridgell
da74939852 wrote a little sample smbw program
build using "make bin/smbw_sample"

this is to show people how to use smbw
(This used to be commit 7d7ceaa9219ba88075cac23eb42b163903537c70)
2000-07-06 03:52:47 +00:00
Tim Potter
e7b5aba7f1 Merge of wbinfo program from TNG.
(This used to be commit 659e4d88ff9dbf1fa9cd8904470c4a8d02d8674b)
2000-07-05 11:24:26 +00:00
Gerald Carter
efc9413278 first pass at merging rpcclient from TNG to HEAD. You can get a
semi-connection and a rpcclient prompt, but no functionality there yet.
Will be a few more days on that.

I need to clean this up a little.  Will work on that some more.

--jerry
(This used to be commit 1b305cb3421eef575cc19bacf1fcc57537d7ea75)
2000-07-03 04:29:17 +00:00
Tim Potter
5d7c2db6f8 Added smbd/sec_ctx.o to smbd objects.
(This used to be commit 11897939bcc073a24ff25c915beec7418a0bccfd)
2000-06-23 05:55:41 +00:00
Gerald Carter
3396a1d978 just enough to get rpcclient to compile. Look for #if 0
blocks around a few unimplemented functions.  Also had to
add cli_reg.c to Makefile.in


--jerry
(This used to be commit 426c43fb5167b042682c22e67871e5ebadb4b769)
2000-06-23 00:09:21 +00:00
Tim Potter
a08b01de50 Added nsswitch/common.o to SMBD_OBJ1
(This used to be commit 6c743427dfa2fbd6f3ab47991165db9e705eba20)
2000-06-14 10:25:19 +00:00
Andrew Tridgell
c8de9b8fe1 enable the Linux change notify code and change some notify debug code
(This used to be commit c6be511fcc1be79619a0184f03d4c33dbfe12f04)
2000-06-12 17:06:00 +00:00
Andrew Tridgell
b2d01bd2db totally rewrote the async signal, notification and oplock notification
handling in Samba. This was needed due to several limitations and
races in the previous code - as a side effect the new code is much
cleaner :)

in summary:

- changed sys_select() to avoid a signal/select race condition. It is a
  rare race but once we have signals doing notification and oplocks it
  is important.

- changed our main processing loop to take advantage of the new
  sys_select semantics

- split the notify code into implementaion dependent and general
  parts. Added the following structure that defines an implementation:

struct cnotify_fns {
	void * (*register_notify)(connection_struct *conn, char *path, uint32 flags);
	BOOL (*check_notify)(connection_struct *conn, uint16 vuid, char *path, uint32 flags, void *data, time_t t);
	void (*remove_notify)(void *data);
};


then I wrote two implementations, one using hash/poll (like our old
code) and the other using the new Linux kernel change notify. It
should be easy to add other change notify implementations by creating
a sructure of the above type.

- fixed a bug in change notify where we were returning the wrong error
  code.

- rewrote the core change notify code to be much simpler

- moved to real-time signals for leases and change notify

Amazingly, it all seems to work. I was very surprised!
(This used to be commit 44766c39e0027c762bee8b33b12c621c109a3267)
2000-06-12 15:53:31 +00:00
Andrew Tridgell
6db12f7180 split all the change notify code out into a separate module
smbd/notify.c. All the data structures are now private to that
module.

this is in preparation for Linux kernel support for change notify
(coming soon to a CVS tree near you)
(This used to be commit 1bb0aad4f66dbfa2d0f767ea90f926affff20b17)
2000-06-12 05:32:28 +00:00
Andrew Tridgell
26848a3478 a first pass at Linux kernel oplocks support
(This used to be commit 3253085d9883a181c04b9c9ecf7d0ccdfbcee88d)
2000-06-10 14:29:31 +00:00
Andrew Tridgell
a9a512192d continued the split of the kernel level oplocks code into a more
modular form. In this pass I added oplock_irix.c and added a "struct
kernel_oplocks" that describes a kernel oplock implementation.

I also removed the maintainence mode from the Makefile. It was causing
too much trouble. If someone really likes it they can keep a patch
around to enable it themselves.
(This used to be commit fbeb9804344ab3aa1dd6635a5524aa09065e04f5)
2000-06-10 13:35:20 +00:00
Luke Leighton
1bdbb4e601 added se_access_check.
(This used to be commit 6de329f6bf9c26e132869cf43d4976d4881e285c)
2000-06-08 08:41:28 +00:00
Andrew Tridgell
7df31cb494 added locktest2
this uses 16 open file descriptors on 2 servers, with each server
accessed both via POSIX call and SMB calls. The idea is to test
NFS/SMB locking interaction.

Unfortunately the NT NFS locking implementation is so badly broken
that we don't have anything to test against
(This used to be commit 581498fe6b2efe44c1229dd12b9a6506b11747d0)
2000-06-05 13:53:56 +00:00
Jeremy Allison
a811ade9aa Fixed interface between new ACLS and nttrans code.
Jeremy.
(This used to be commit 400263245b4e5344b496c5de52a659f040206798)
2000-05-31 17:51:28 +00:00
Andrew Tridgell
82db6b6d9f don't build cli_reg in rpc client library until we merge that from tng
(This used to be commit 0cc59cc2c63bceeda0bc6f44dc65f10f81ebda8d)
2000-05-28 23:06:43 +00:00
Luke Leighton
682cccd8af unistr_to_dos not unistr_to_ascii
(This used to be commit f46c4fe876a0cabe7044ca30c17e6c217d618635)
2000-05-27 02:05:15 +00:00
Luke Leighton
54695647ef fixed nttrans.c
(This used to be commit 06cd46b0ec10b32af54edd8256d2fdbec45e1371)
2000-05-27 01:56:26 +00:00
Shirish Kalele
74d677ec59 Added the NETDFS pipe to allow remote administration of the msdfs symlinks
on the samba server.
(This used to be commit 15e7d8f6c5cddf6ce409ee2505744250d181ec34)
2000-05-18 18:43:53 +00:00
Shirish Kalele
651946153e The new msdfs implementation that uses symlinks to point to other
servers. Very intuitive.

Removed the dfs map parsing code and tdb maintenance code (files
msdfs/parse_dfs_map.c & msdfs/msdfs_tdb.c), dfs map loading and unloading
calls (param/loadparm.c smbd/server.c).

Added code to display msdfs format symlinks as directories in a
transact2_findfirst/findnext. (smbd/trans2.c)

Modified msdfs/msdfs.c to use the msdfs symlinks to
create dfs referrals.

Changed msdfs/README to reflect new operability.
(This used to be commit 6803d2574fab9e5931786d5c9aa5dc5867bb5f05)
2000-05-16 01:13:16 +00:00
Andrew Tridgell
4f21301ea6 in head as well ...
renamed ntdom to winbind
I think that using winbind in /etc/nsswitch.conf is better than ntdom
(This used to be commit 80f85b5359c26dc26f8f88b984f27cfa4ac34e61)
2000-05-10 14:17:21 +00:00
Andrew Tridgell
ddc9b8b406 more merging
it is now at the stage that winbindd can compile in the head branch,
but not link
(This used to be commit d178c00aae77710ae6ff20a7f54a30e3bd8232bb)
2000-05-10 09:49:55 +00:00
Andrew Tridgell
fe7f54bc99 don't attempt to build rpcclient in the head branch
(This used to be commit 1b6d01e1152d1ac64e3b1f721227d06061982112)
2000-05-09 13:21:58 +00:00
Andrew Tridgell
6bf1c3ac25 added some rules for winbindd and pam_winbind
(This used to be commit 6c5d139844334191f78257fbc9f01d0fa0c2bcf0)
2000-05-09 11:41:38 +00:00