1
0
mirror of https://github.com/samba-team/samba.git synced 2025-06-23 11:17:06 +03:00

551 Commits

Author SHA1 Message Date
Andrew Tridgell
9d5348c758 removed need for scandir in client.c
fixed possible bug with readdirname on systems with NAMELEN != strlen
(This used to be commit 78f448b7d4b83f569d27e0abf6b1759c43ff21f3)
2001-05-07 05:19:52 +00:00
Jeremy Allison
6f78636a56 Removed mktemp from HEAD - same as done in 2.2.
Jeremy.
(This used to be commit 121b59669fbcd1aaedb08011ff36169fc6561c55)
2001-04-18 05:12:46 +00:00
Jeremy Allison
3c2c047e82 Added fix from "Eric Boehm" <boehm@nortelnetworks.com> to try and set hard
limit before setting soft limit.
Jeremy.
(This used to be commit a1eb2752a8bee9cc7d92c664c3de84e02620933d)
2001-04-13 19:33:26 +00:00
Jeremy Allison
50e78a9ac8 As Andrew suggested, make smbrun return a fd for a deleted file which can then
be read.
Jeremy.
(This used to be commit e7d59d6de89a5fdd201e4b5c6072dab08b1519db)
2001-04-13 00:37:00 +00:00
Jeremy Allison
6578fd8742 To stop people complaining about the mktemp call, move it into lib/util.c. Thanks
to Andrew for all this code. Fixed extra line in lib/sysacls.c that broke
XFS ACL code.
Jeremy.
(This used to be commit 9b32b8a8cfc8ddb93c14d5581f433d2e93f89ed2)
2001-04-11 23:19:08 +00:00
Jeremy Allison
3bfbc4aaec Fixed --with-automount compile error.
Jeremy.
(This used to be commit ab916199f542528293b3f63fe6f24eecd83eccb4)
2001-04-10 21:43:37 +00:00
Jeremy Allison
f9a15ce1a6 Got "medieval on our ass" about adding the -1 to slprintf.
Jeremy.
(This used to be commit 94747b4639ed9b19f7d0fb896e43aa392a84989a)
2001-04-08 20:22:39 +00:00
Jeremy Allison
8600979fad Patch to make automount lookup fallback to get home directory from getpwnam.
From Robert Montjoy <Rob_Montjoy@ECECS.UC.EDU>.
Jeremy.
(This used to be commit 1fe60064bddf29fd778918d3f1a7026002029bd7)
2001-03-26 21:52:43 +00:00
Jeremy Allison
da3053048c Merge of new 2.2 code into HEAD (Gerald I hate you :-) :-). Allows new SAMR
RPC code to merge with new passdb code.
Currently rpcclient doesn't compile. I'm working on it...
Jeremy.
(This used to be commit 0be41d5158ea4e645e93e8cd30617c038416e549)
2001-03-11 00:32:10 +00:00
Andrew Tridgell
b08b70faf8 started support for unicode on the wire in smbd. Using a very similar
method to what was used in the client I now have session setup and
tconx working.

Currently this is enabled with SMBD_USE_UNICODE environment
variable. Once the code is complete this will become a smb.conf
option.
(This used to be commit 7684c1e67294266d018c6f0cab58f1a9d797174f)
2001-03-10 11:38:27 +00:00
Andrew Tridgell
8acf5e0448 - neater setting of bcc
- converted cli_rename and cli_unlink
(This used to be commit 0a8992e224b7a3d90d45b13d73fa8a6f155efa79)
2001-02-20 12:45:50 +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
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
Jeremy Allison
b43b2e4f8a Restructuring of the code to remove dos_ChDir/dos_GetWd and re-vector them
through the VFS. All file access/directory access code in smbd should now
go via the vfs. Added vfs_chown/vfs_chmod calls. Still looking at vfs_get_nt_acl()
vfs_set_nt_acl() call API design.
Jeremy.
(This used to be commit f96625ec124adb6e110dc54632e006b3620a962b)
2000-09-27 19:09:59 +00:00
Andrew Tridgell
8843a6379d Linux kernel oplocks now seem to work, but need a _lot_ of testing
I had to modify sys_select() to not loop on EINTR. I added a wrapper
called sys_select_intr() which gives the old behaviour.
(This used to be commit b28cc4163bc2faaa80c5782fc02c8f03c410cdeb)
2000-06-11 05:57:58 +00:00
Jeremy Allison
7b49e6ac6c Changed name of case_sensitive in mask_match to avaid gcc "shadow global"
warning.
Jeremy.
(This used to be commit 36629d2a934fe61e68f87c5d2faf67158b365ae6)
2000-05-17 20:54:56 +00:00
Jeremy Allison
ba020b0612 Moved uglyness needed in fcntl locking (64->32 bit mapping, NFS
errors etc.) into locking/posix.c, where it is needed. fcntl_lock in lib/util.c
is now very small and clean.
Added (*lock) op to vfs layer.
Jeremy.
(This used to be commit 46092ee1410faa4e3c143d80a960a8adaa19d7fc)
2000-05-02 03:20:47 +00:00
Jeremy Allison
693ffb8466 Added sys_fork() and sys_getpid() functions to stop the overhead
of doing a system call every time we want to just get our pid.
Jeremy.
(This used to be commit 148628b616b5c29ba6340d65fc3ddbcabba6e67a)
2000-05-02 02:23:41 +00:00
Andrew Tridgell
700f72453e - removed all our old wildcard matching code and replaced it with a
call to ms_fnmatch(). This also removes all the Win9X semantics stuff
and a bunch of other associated cruft.

- moved the stat cache code into statcache.c

- fixed the uint16 alignment requirements of ascii_to_unistr() and
  unistr_to_ascii()

- trans2 SMB_FIND_FILE_BOTH_DIRECTORY_INFO returns the short name as
  unicode always (at least thats what NT4 does)

- fixed some errors in the in-memory tdb code. Still ugly, but doesn't
  crash as much
(This used to be commit 03e9cea004bbba72161a5323cf3b4556c94aed8e)
2000-04-30 11:04:28 +00:00
Andrew Tridgell
71e7974f3f YIPEE!!!!!
We finally have a perfect emulation of Microsoft wildcard
matching. The routine ms_fnmatch() does wildcard matching with all MS
wildcards (including the unicode wildcards), and masktest against a
NT4 workstation with hundreds of thousands of random exmaples has not
found a single error.

amazingly it is only about 60 lines of code, but it has taken us years
to get it right. I didn't sleep much last night :)
(This used to be commit cc9e007cdfdd300189f89e2a55e4234e47fa842d)
2000-04-30 04:45:16 +00:00
Andrew Tridgell
e5b79f3d5b moved the INSURE hook into util.c
(This used to be commit 8c726b9764bac0bc95cf9877e172c9e1262e576d)
2000-04-24 11:30:24 +00:00
Andrew Tridgell
f930ec638b if using insure then don't close fd 2
(This used to be commit 1c6322473afcf9065fa25777d1b0627f133af3f6)
2000-04-23 07:37:43 +00:00
Andrew Tridgell
f1867dcad6 return NULL for a zero size memdup
(This used to be commit 9416b58b9c2ff898cdae2cb81ab1e150ef9f0e89)
2000-04-22 08:29:41 +00:00
Andrew Tridgell
bb28f06eae moved standard_sub() and friends into a separate module
(This used to be commit 030ec8e71f9ef533b5d6aece01e67d357e23b7d2)
2000-04-17 04:46:10 +00:00
Andrew Tridgell
f77d9a2cca added standard_sub_snum() function for modules that don't have
a connection structure
(This used to be commit f35fe3b4a175161128341fe30a61437c560180d1)
2000-04-15 08:07:57 +00:00
Jeremy Allison
a018d6b326 Removed "ole locking compat" parameter (no longer used).
We now get/set/check POSIX locks, but I still need to code up the
close fd braindamage...
Jeremy.
(This used to be commit 3de058bd43976853b0ed2b6b5529e2a3a08909eb)
2000-04-12 23:01:11 +00:00
Jeremy Allison
f6be38cae2 include/byteorder.h: ALIGN4/ALIGN2 macros.
include/includes.h: Added SMB_BIG_UINT_BITS.
lib/util.c: Removed align2/align4 - use macros.
libsmb/namequery.c: Use ALIGN2.
locking/locking.c: Replace do_lock, do_unlock, args with SMB_BIG_UINT, not SMB_OFF_T.
                   Needed to move to hiding POSIX locks at a lower layer.
nmbd/nmbd_processlogon.c: Use ALIGN2/ALIGN4 macros.
smbd/blocking.c: Replace do_lock, do_unlock, args with SMB_BIG_UINT, not SMB_OFF_T.
smbd/reply.c: Replace do_lock, do_unlock, args with SMB_BIG_UINT, not SMB_OFF_T.
Jeremy.
(This used to be commit 491eea8a20bf80d426625479326211dc975857a6)
2000-04-11 19:44:54 +00:00
Andrew Tridgell
17ea0bd3b5 add an align4() function
(This used to be commit 7969f4dccbc5a506ef58b9270a08f8f70d9006f7)
2000-04-11 14:24:48 +00:00
Andrew Tridgell
2fa922611b finally got sick of the "extern int Client" code and the stupid
assumption that we have one socket everywhere

while doing so I discovered a few bugs!

1) the clientgen session retarget code if used from smbd or nmbd would
cause a crash as it called close_sockets() which closed our main
socket! fixed by removing close_sockets() completely - it is unnecessary

2) the caching in client_addr() and client_name() was bogus - it could
easily get fooled and give the wrong result. fixed.

3) the retarget could could recurse, allowing an easy denial of
service attack on nmbd. fixed.
(This used to be commit 5937ab14d222696e40a3fc6f0e6a536f2d7305d3)
2000-04-11 13:55:53 +00:00
Luke Leighton
4acd40ee00 moved nmblib-specific code from util.c to nmblib.c.
(This used to be commit 1b9077a1d5295bc8522b83ebed2d41d5dbd28a27)
2000-03-27 01:33:43 +00:00
Jeremy Allison
5e22394654 Fixups for compiles with gcc flags -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual
Partially implemented rpc daemon redirect (needs more work).
Jeremy.
(This used to be commit a462191698fa589ceac4afd14c652adf699eccad)
2000-03-10 19:50:03 +00:00
Jean-François Micouleau
78d7ba5ca0 changed prs_unistr to parse empty and non-empty strings the same way.
fixed typo in SPOOLSS_SYNT
some cleanup of unused functions
wrote make_spoolss_enumprinter and make_spoolss_openprinterex for
rpcclient as I'm trying to keep in sync the parsing code between HEAD and
TNG.

Will commit changes to TNG after lunch.

	J.F.
(This used to be commit 025cdb345f6de287a41d4449b2662dbc5e762bf2)
2000-03-06 11:13:40 +00:00
Jeremy Allison
fe05c85250 Fixed wildcard match bug with '****' with smbclient. Found by Andrew (damn him! :-).
Jeremy.
(This used to be commit c8ca70f99ee2eae5e29ddf0dd4bc231fbcd188f2)
2000-02-09 15:50:44 +00:00
Jean-François Micouleau
59ac32c255 Jeremy can you check lib/util_unistr.c for codepages support ?
I added 2 UNICODE <-> ASCII functions which _don't_ honor codepage
support.

	J.F.
(This used to be commit b81dc7b7f832cae2e66076398a134fbb6c1f78ca)
2000-02-07 16:22:16 +00:00
Tim Potter
3d9a9cbe96 Comments to use vfs_* functions instead of dos_* unless really
accessing files on local disk.
(This used to be commit b55f63da7e6a3c306ce668c77ed63a41d33240db)
2000-02-03 05:10:09 +00:00
Jeremy Allison
b5e7e4277d First set of speed improvements from Ying Chen <ying@almaden.ibm.com>.
Inline several commonly used functions as macros.
Jeremy.
(This used to be commit fc0219c7cc4b83e6db17d5b3be70d74fd7971089)
2000-01-25 22:57:51 +00:00
Jeremy Allison
3a6c2069d7 Added "inherit permissions" patch.
Fixed locking bug found by Andrew.
Jeremy.
(This used to be commit 38dffd360dc2e44bfc9e751f017e24f81ff0f2fa)
2000-01-14 01:41:04 +00:00
Jeremy Allison
ec5b3043bf Fixed bug in unix_mask_match() that caused veto files not to work.
Jeremy.
(This used to be commit f5fedf80bce84dba1468631202337077511bcd25)
2000-01-11 02:18:46 +00:00
Andrew Tridgell
171da4d787 this looks like a big commit, but it isn't really :)
This fixes our netbios scope handling. We now have a 'netbios scope' option
in smb.conf and the scope option is removed from make_nmb_name()

this was prompted by a bug in our PDC finding code where it didn't append
the scope to the query of the '*' name.
(This used to be commit b563be824b8c3141c49558eced7829b48d4ab26f)
2000-01-07 06:55:36 +00:00
Jeremy Allison
cebc23762d Generic wildcard matching fix from weidel@multichart.de.
Jeremy.
(This used to be commit 8b790cf3e21dd415e1daba24f5eba219e824cdc4)
2000-01-06 21:09:11 +00:00
Luke Leighton
fbd17c8daf simple mods to add msrpc pipe redirection. default behaviour: fall back
to using internal msrpc code in smbd.
(This used to be commit 8976e26d46cb991710bc77463f7f928ac00dd4d8)
2000-01-03 19:19:48 +00:00
Andrew Tridgell
d705b62141 got rid of mem_man
yamd is much better, and doesn't require any source code changes
if you haven't seen yamd then take a look at
	http://www3.hmc.edu/~neldredge/yamd/
its excellent!
(This used to be commit 25b13f8b79d648188036f027f45bc78ec117cc88)
2000-01-03 03:31:41 +00:00
Andrew Tridgell
4e1291a83f converted all our existing shared memory code to use a tdb database
instead of either sysv or mmap shared memory or lock files.

this means we can now completely remove
	locking_shm.c
	locking_slow.c
	shmem.c
	shmem_sysv.c
and lots of other things also got simpler

locking.c got a bit larger, but is much better compartmentalised now
(This used to be commit e48c2d9937eea0667b8cd3332e49c06314ef31e7)
1999-12-21 09:25:59 +00:00
Andrew Tridgell
3db52feb1f first pass at updating head branch to be to be the same as the SAMBA_2_0 branch
(This used to be commit 453a822a76780063dff23526c35408866d0c0154)
1999-12-13 13:27:58 +00:00
Luke Leighton
f6276724ba changed function name of get_home_dir() to get_unixhome_dir(), to stop
clash with gnu readline library.

fixed issue with [homes] service not being there - call lp_add_home()
just before starting the msrpc processing.
(This used to be commit 054195df9b6187c663ede5cf4489499abbdc29fc)
1999-12-12 21:00:35 +00:00
Luke Leighton
4f8a24522c final part of "first" phase converting over to msrpc daemon architecture.
done a minimal amout of clean-up in the Makefile, removing unnecessary
modules from the link stage.  this is not complete, yet, and will
involve some changes, for example to smbd, to remove dependencies on
the password database API that shouldn't be there.  for example,
smbd should not ever call getsmbpwXXX() it should call the Samr or Lsa
API.

this first implementation has minor problems with not reinstantiating
the same services as the caller.  the "homes" service is a good example.
(This used to be commit caa50525220b0d0250fa139367593c2de2c12135)
1999-12-12 20:03:42 +00:00
Luke Leighton
0ce128e355 delineation between smb and msrpc more marked. smbd now constructs
pdus, and then feeds them over either a "local" function call or a "remote"
function call to an msrpc service.  the "remote" msrpc daemon, on the
other side of a unix socket, then calls the same "local" function that
smbd would, if the msrpc service were being run from inside smbd.

this allows a transition from local msrpc services (inside the same smbd
process) to remote (over a unix socket).

removed reference to pipes_struct in msrpc services.  all msrpc processing
functions take rpcsrv_struct which is a structure containing state info
for the msrpc functions to decode and create pdus.

created become_vuser() which does everything not related to connection_struct
that become_user() does.

removed, as best i could, connection_struct dependencies from the nt spoolss
printing code.

todo: remove dcinfo from rpcsrv_struct because this stores NETLOGON-specific
info on a per-connection basis, and if the connection dies then so does
the info, and that's a fairly serious problem.

had to put pretty much everything that is in user_struct into parse_creds.c
to feed unix user info over to the msrpc daemons.  why?  because it's
expensive to do unix password/group database lookups, and it's definitely
expensive to do nt user profile lookups, not to mention pretty difficult
and if you did either of these it would introduce a complication /
unnecessary interdependency.  so, send uid/gid/num_groups/gid_t* +
SID+num_rids+domain_group_rids* + unix username + nt username + nt domain
+ user session key etc.  this is the MINIMUM info identified so far that's
actually implemented.  missing bits include the called and calling
netbios names etc.  (basically, anything that can be loaded into
standard_sub() and standard_sub_basic()...)
(This used to be commit aa3c659a8dba0437c17c60055a6ed30fdfecdb6d)
1999-12-12 01:25:49 +00:00
Gerald Carter
12ca139d5c OK. This code works on a RedHat 6.0 system. However smbpasswd
time out of sending the session setup on Solaris 2.6.  No idea.
I'll work on it some tomorrow.  This is to fix the "Unable to
setup password vectors" thingy.

Also changed an inet_aton() to inet_addr() as the former is
not very portable :-)

Luke,  I set the redir flag to false because the connection to
the smb-agent was failing and smbpasswd bombed.  Double check me
on this one.



-jc
(This used to be commit e1d2b174caf5f0c48a8fac25778f72a868ec6eb7)
1999-12-09 07:06:12 +00:00
Luke Leighton
5988d0cdae added get_any_dc_name() function.
(This used to be commit 455e17dbb7d451b462004f302f5c68770f17b65e)
1999-12-02 18:49:28 +00:00
Luke Leighton
7aebbb90c8 need a domain resolving function, but get_trusted_serverlist() will do.
this is horrible.
(This used to be commit 9df973fe711f322075d86d6792d6c0b8539c1d00)
1999-12-02 16:52:38 +00:00