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

841 Commits

Author SHA1 Message Date
Tim Potter
6b51372c2e Codepages and stuff for Turkish language support. Contributed by
Deniz Akkus <akkus@alum.mit.edu>
(This used to be commit 5650c143a706a0a65dfd55dea2248c6636a57912)
2001-01-07 23:00:49 +00:00
David O'Neill
23807f2b30 Changes from APPLIANCE_HEAD:
source/Makefile.in
        - changes to ctags and etags rules that somehow got lost along the way.

    source/include/proto.h
        - make proto

    source/smbd/sec_ctx.c
    source/smbd/password.c
        - merge debugs for debugging user groups and NT token stuff.

    source/lib/util_str.c
        - capitalise domain name returned from parse_domain_user()

    source/nsswitch/wb_client.c
        - fix broken conditional in debug statement.

    source/include/rpc_secdes.h
    source/include/rpc_spoolss.h
    source/printing/nt_printing.c
    source/lib/util_seaccess.c
        - fix printer permission bugs related to ACE masks for printers.
          This adds mapping of generic access rights to object specific
          rights for NT printers.  Still need to work out whether or not to
          ignore ACEs with certain flags set, though. See comments in
          util_seaccess.c:check_ace() for details.

    source/printing/nt_printing.c
    source/printing/printing.c
        - use PRINTER_ACCESS_ADMINISTER instead of JOB_ACCESS_ADMINISTER
          until we sort out printer/printjob permission stuff.
(This used to be commit 1dba9c5cd1e6389734c648f6903abcb7c8d5b2f0)
2001-01-04 19:27:08 +00:00
Tim Potter
83a160587e Fixed -d option for rpcclient.
(This used to be commit 44c5eb4def9a264f660b2398d28b72f54e6547e6)
2001-01-02 04:23:17 +00:00
Jeremy Allison
4ac52fc52f Removed uninitialised variable.
Jeremy.
(This used to be commit 56a93567a106f25e87df093e1861f6bdd1d3196a)
2000-12-20 20:43:48 +00:00
Jeremy Allison
ed7ecca3aa Split the one sys_acl_free call into sys_acl_free_TYPE calls, to allow
easier wrapping of non-POSIX ACL interfaces.
Jeremy.
(This used to be commit 1a31b4eb082b23d60e3d9040b3c0110eef1f9385)
2000-12-19 18:41:51 +00:00
Jeremy Allison
e28f0a1f55 A couple more UMR fixes.
Jeremy.
(This used to be commit a83702c99f1ecd6e68f8c178b20823fce6d4c6c6)
2000-12-18 20:03:15 +00:00
Jeremy Allison
fb82ab78fe Never free anything in the rpc_parse/prs_XXX functions. Do it in the enclosing
function.
lib/util_unistr.c: Check lengths *before* reading source - prevent uninitialised
memory reads.
Jeremy.
(This used to be commit ce4f461965c872fbfc9fe5f6b98aed58bb3dd67a)
2000-12-15 23:02:01 +00:00
Jean-François Micouleau
89af6fd745 lib/util_unistr.c:
rewrote unistr2_to_ascii() to correct a bug seen on SGI boxes.

rpc_parse/parse_misc.c:
rpc_parse/parse_prs.c:
        rewrote of BUFFER5 handling to NOT byteswap when it was already in
        network byte order.

rpc_parse/parse_samr.c:
        cleanup of samr_io_q_lookup_domain(), remove the over-parsing by 2
        bytes.

rpc_server/srv_lsa.c:
        UNISTR2 strings need to be NULL terminated to pleased W2K.

rpc_server/srv_spoolss_nt.c:
        use snprintf instead of safe_strcpy as we want the string
        truncated at 32 chars.


That should fix SUN and SGI box not able to act as printserver and the
problem with joining from a W2K wks.

        J.F.
(This used to be commit 69fe739303b105f2c488f266f13977da1b6b201d)
2000-12-15 09:31:56 +00:00
Jeremy Allison
369f5fd1d7 Fixed memory leaks in lsa_XX calls. Fixed memory leaks in smbcacls. Merged
in fixes from appliance-head and 2.2. Fixed multiple connection.tdb open
problem.
Jeremy.
(This used to be commit 0a40bc83e14c69a09948ec09bb6fc5026c4f4c14)
2000-12-15 01:02:11 +00:00
Tim Potter
624431c98b Renamed parameters and variables called acl to the_acl as it conflicts
with a Solaris system call.
(This used to be commit 5e547ddcb526be5562db9213c5b36e505e735a2e)
2000-12-14 05:38:05 +00:00
Jeremy Allison
276364e2a4 Removed the special casing of SIDs in se_access_check. This is now done (correctly)
when the NT_USER_TOKEN is *created*.
Jeremy.
(This used to be commit 27d72ed1cf8ece2bede812341279ba5a7262ace4)
2000-12-12 02:36:14 +00:00
Jeremy Allison
57fcae402b Owner always has READ_CONTROL and WRITE_DAC access.
Jeremy.
(This used to be commit 05fcb124dfbb1a257828e9dc6a7793fc3dc73c4b)
2000-12-12 00:42:55 +00:00
Gerald Carter
c9d38e177b code review of rpcclient
o added some comments
  o abstracted a few code bits
  o cleaned up some code by removing unused code paths



-- jerry
(This used to be commit 679453af36c06ae9c82dd20742a56272ec73f427)
2000-12-11 18:13:19 +00:00
Gerald Carter
ea4a0d509e new version of Get_Pwnam()
o check the username in all lowercase
  o check the username as transmitted if this would be a different case
  o check the username in all upper case if this is a new version


-- jerry
(This used to be commit 059f4fee5d8ad72cd699995c660263ed2cc4f25f)
2000-12-11 17:48:26 +00:00
Jeremy Allison
407b48d8a1 Fixed typo causing coredump in file_lines_parse.
Jeremy.
(This used to be commit f575f4d67a5b45e47c29de30f02901c55cef4621)
2000-12-09 06:34:59 +00:00
Tim Potter
cf9443677d Modified argc passed to rpc_client cmd_* functions to include argv[0].
Gerald, could you check to see I haven't introduced any bugs into
rpcclient/cmd_spoolss.c?
(This used to be commit 77b0bda4df3217cd186d5b8f902a50f35346d98d)
2000-12-08 03:24:38 +00:00
Jeremy Allison
cf5b71994d file_lines_load/file_lines_pload can now optionally convert unix_to_dos()
on read.
Jeremy.
(This used to be commit 76b8dd376d13eb4469417be217c966d54d333367)
2000-12-07 19:26:04 +00:00
Jeremy Allison
c31211167b Added better configure test for POSIX ACLs. Fixed stupid typo in sysacls.c
Jeremy.
(This used to be commit da6ae57501e3cb971e82eac5bb05efcd9cf443ae)
2000-12-07 06:23:01 +00:00
Jeremy Allison
423227d7ca Working code to read POSIX ACLs on a Linux system using the bestbits
ACL patch from http://acl.bestbits.at/.
configure support needs more work (just assumes correct headers at
the moment). ACL writing needs adding.
Jeremy.
(This used to be commit 6ae63e502e6adf3666a34aa87860c74e106fdb84)
2000-12-07 05:38:01 +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
Tim Potter
4cf7fcc505 Fixed compiler warning.
(This used to be commit 6553f1d02792d81987dda51af76b4fc06d73a787)
2000-12-06 02:52:54 +00:00
Jeremy Allison
0293259eaa Make smbd/posix_acls.c use abstract interface.
include/smb_acls.h lib/sysacls.c: Added as interface definitions.
Jeremy.
(This used to be commit 8359375bba5b3ae24956f66b066dedf11d3583df)
2000-12-06 02:32:48 +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
d546f555a2 fixed messaging bug - use strlen() instead of sizeof() in key length
(This used to be commit 1d63160c751fa968e3a7618d1feb84a9feaa13dc)
2000-12-02 00:51:50 +00:00
Tim Potter
38a585c99d Allow zero length smb.conf files.
(This used to be commit 46007a541cd2497c14659a10ba24a6d0a375ac5a)
2000-12-01 04:10:54 +00:00
Tim Potter
7d7c9a2f79 Use lp_codepagedir() instead of CODEPAGEDIR when loading the unicode map.
Found by Joseph Cheek <joseph@cheek.com>
(This used to be commit ec74fdc631fbd5f0b5450df02acb9cd98c153823)
2000-12-01 01:14:55 +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
Andrew Tridgell
0de5569304 fixed the problem with messages not getting through
the problem had nothing to do with being your own pid, it was instead
a problem with IPC$ connections not being registered in the
connections database and an incorrect test for -1 in the messaging
code.

These changes also mean that IPC$ shares now show up in
smbstatus. That is probably a good thing.
(This used to be commit 3575ad10985a18f897e38179ca69fa9a49a7ea02)
2000-11-17 03:15:18 +00:00
Andrew Tridgell
9770a81363 save and restore errno in select
(This used to be commit 34f0379096d0701c74a51c51649ffe4cb1a24291)
2000-11-17 01:05:50 +00:00
Jeremy Allison
29e6b9cdd0 Delete queue on empty.
Jeremy.
(This used to be commit 6e18a2aa58bc485e3c803ff357acc1b7fe6d95e1)
2000-11-17 00:48:02 +00:00
Andrew Tridgell
7c8e73e943 the duplicate checking code will cause unaligned accesses on non-intel
processors. Fixed.
(This used to be commit 64d38c24100cb3409b38b9923734f2a6202bdc2a)
2000-11-17 00:08:42 +00:00
Andrew Tridgell
2add922323 use process_exists() not kill(pid, 0)
(This used to be commit 30048cff12e03c95ef43ba4ee16af1df2de9dbc8)
2000-11-17 00:02: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
Jeremy Allison
fb71f4a0af Fix for plaintext passwords from Pat Sandfort @ HP.
Jeremy.
(This used to be commit b8753b92fbeb1d6768d0559e12ff2aa1d0148419)
2000-11-16 21:33:21 +00:00
Jeremy Allison
6f58dd5871 Ok - fixed a bug in our levelII oplock code. We need to break a level II on
a byte range lock (write lock only, but Win2k breaks on read lock also so I
do the same) - if you think about why, this is obvious. Also fixed our client
code to do level II oplocks, if requested, and fixed the code where we would
assume the client wanted level II if it advertised itself as being level II
capable - it may not want that.
Jeremy.
(This used to be commit 213cd0b5192307cd4b0026cae94b2f52fb1b0c02)
2000-11-16 00:59:18 +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
Jeremy Allison
20838bb9ed Merge of Herb's profiling code.
Jeremy.
(This used to be commit 3be056c71aa8e0a4ba70d397107199004bdb7d3f)
2000-11-11 00:33:33 +00:00
Jeremy Allison
c97023b14c Merge in Herb's changes from 2.2.
Jeremy.
(This used to be commit 24d76c5fbda29d89c96d7c22193ec2eb93ad3887)
2000-11-10 22:07:57 +00:00
Jeremy Allison
3c330068ad Fix from John E. Malmberg <wb8tyw@qsl.net> for -1 return in interfaces scan.
Jeremy.
(This used to be commit 4d25a53c36ad2c33cc2ecaf1486e18f1536eff95)
2000-11-10 19:02:32 +00:00
Jeremy Allison
7185f5fbe6 64 bit fix from Uros Prestor <uros@turbolinux.com>.
Jeremy.
(This used to be commit 9a5471b3e861aa864ffff5fc87ac2681de7b0068)
2000-11-06 23:14:59 +00:00
Tim Potter
61b659faaf Fix some compiler warnings.
(This used to be commit 852de9226d50ccac71ec1691052a6e395283ca56)
2000-11-04 18:44:34 +00:00
Jeremy Allison
234792321c Fixed silly bug in dup2 code found by Kenichi Okuyama@Tokyo Research Lab. IBM-Japan. Co. Jp.
Jeremy.
(This used to be commit 9c2272e056aef741c4b86f9a247c3534944d9eff)
2000-10-28 19:30:21 +00:00
Jeremy Allison
f3a20ba1f3 Even when looking up a users groups via winbindd even if the lookup for
the list of groups a user is in succeeds via winbind, we must allow the
lookup of the group name -> gid we are checking if the user is a member
of to go via winbind or /etc/group - as it may be a group on the local
box we are checking against. This is a subtle one.....
Jeremy.
(This used to be commit 4ffda462b97e4f35c6d050c579dfe3e3b64e2c9f)
2000-10-25 23:32:12 +00:00
Jeremy Allison
2094856942 John Reilly @ HP (who is a wonderful human being and *definately* needs
CVS commit access :-) has written a simple routine that peeks inside the
MS PE printer driver file format and can tell if a driver is W2K or NT4.x.
So we can now correctly return the driver version number. Hurrah !
JF - this is the code you always wanted ..... :-) :-).
Jeremy.
(This used to be commit fd17374e6d888813f4ed7142480cf93b8a16bfef)
2000-10-25 17:56:38 +00:00
Tim Potter
849f0d0fd0 Fixed missing bracket on debug statement.
(This used to be commit 9328bc7b8a7d43ef0da47413f314f9943ea98847)
2000-10-19 21:49:48 +00:00
Jeremy Allison
6d475b7217 Added David O'Neills fix to HEAD (hmmm. how did this compile... :-).
Jeremy.
(This used to be commit e222057140edb3f14d76e54bd6e744919f50b4df)
2000-10-13 17:36:22 +00:00
Jeremy Allison
330d678fba 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.
Also changed GETDC to query 1C name rather than 1b name as only the PDC
registers 1b.
Jeremy.
(This used to be commit 5b0038a2afd8abbd6fd4a58f5477a40d1926d498)
2000-10-13 01:59:14 +00:00
Herb Lewis
53ce2f7012 lib/messages.c add debug print for receipt of PING and
REQ_DEBUGLEVEL messages
utils/smbcontrol.c      allow "q" to exit interactive mode. Exit on error
                        from message_init.
(This used to be commit cda8c0439113dcce02a681b0aaddf69326c0ec9a)
2000-10-12 17:58:40 +00:00
Jeremy Allison
d81a598230 Turns out we do need the pwnam check as on many systems the users
primary group is not listed in the groups file...
Jeremy.
(This used to be commit b1cb7bec51963ac2ddc62dd1abbf8f8fa4351f9b)
2000-10-11 22:38:38 +00:00
Jeremy Allison
93932079c6 Fixed %d printf with unsigned long arg.
Jeremy.
(This used to be commit 448ff58fd5a88b1fdadfb9a8e0bc5f38b707a4d3)
2000-10-11 17:26:14 +00:00