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

3194 Commits

Author SHA1 Message Date
Jeremy Allison
211697ee6c Converted most of the functions in lib/util_str.c to smb_ucs2_t equivalents.
Jeremy.
(This used to be commit 1ba42aca2163c534f6be4e4a733604e3dffe0ed8)
1999-12-29 02:00:38 +00:00
Andrew Tridgell
4a85b76dae a useful locking tester - it uses lots of simultaneous writers
(This used to be commit 3b3fdd8661cc10057823be4c594e40ca615ca704)
1999-12-24 08:46:02 +00:00
Andrew Tridgell
d6a5878c76 fixed more locking bugs - all seems OK now
(This used to be commit 584537961b6134a50089d37328a21c617bc6547b)
1999-12-24 08:45:02 +00:00
Jeremy Allison
f0161cf815 Fixed range checking in unicode to multibyte function. Oops.
Jeremy.
(This used to be commit 61e06c44b47834ed297aacee6d59c40796b4ffb5)
1999-12-23 18:58:44 +00:00
Jeremy Allison
3a3afec47f Added wtoupper/wtolower.
Jeremy.
(This used to be commit 2e03ed62542152264ca5315b9ee9bb045b7f0b03)
1999-12-23 02:01:37 +00:00
Jeremy Allison
7c51c5ddf3 Samba now includes a full ucs2 upper to lower case (and vica versa) map table.
Jeremy.
(This used to be commit d7b72d4cbfb6bd1925abc7f95c1180d3d65856a5)
1999-12-23 01:57:43 +00:00
Jeremy Allison
63ca6eaff0 Upper to lower case map table for unicode.
Jeremy.
(This used to be commit 82421e93c09790a7e38014c42f8402db5cb827e3)
1999-12-23 01:53:25 +00:00
Jeremy Allison
8dc6098539 Awk script to create #include C code from unicode upper -> lower case map.
Jeremy.
(This used to be commit e59fe73f19cdb207db55ea4ba0073f48af2e440e)
1999-12-23 01:41:19 +00:00
Jeremy Allison
681e50c096 Unicode upper <--> lower character map. Needed for wisXXX functions.
Jeremy.
(This used to be commit a42cf2036f30e6a6892c274ed3da192b3bb8d0ef)
1999-12-23 01:39:01 +00:00
Andrew Tridgell
c23a552c58 fixed locking code
(This used to be commit 1f5dc924044fb54b10ac8884d4df1e15902de8be)
1999-12-23 01:14:20 +00:00
Jeremy Allison
5b3096a32f include/includes.h: Trimmed down unicode directory entry to be POSIX complient.
lib/system.c: Trimmed down unicode directory entry to be POSIX complient.
lib/util_unistr.c: Added wstrdup().
Jeremy.
(This used to be commit ca64f4ab00c6d54022ba9bd4b869523566a242d7)
1999-12-22 18:46:05 +00:00
Andrew Tridgell
fc4e722127 improved error message in case the lock list is truncated
(This used to be commit f4ecc5a8e39ee69c59123b7b3ffbd081f69824ca)
1999-12-22 01:36:27 +00:00
Andrew Tridgell
ecfee3f170 fixed a bug in the handling of tdb version number upgrade
(This used to be commit ed7541668e9bc98ae9daf55f817d2de04345e660)
1999-12-22 01:31:09 +00:00
Jeremy Allison
e7851ce52e First cut at unicode sys_xx functions. Now to start moving upwards.....
Jeremy.
(This used to be commit b5eb009cc3cfd1adc044e91911d59acdb54c30cb)
1999-12-22 01:29:22 +00:00
Andrew Tridgell
30cecd8d2c added some paranoia code
(This used to be commit c547ffa9e9ce68a77f63591b37b690a83a956348)
1999-12-22 01:22:14 +00:00
Jeremy Allison
02496ae415 Ok - we now have the following functions for UNICODE support :
unicode_to_unix()
unix_to_unicode()
unicode_to_dos()
dos_to_unicode()
wstrlen()
safe_wstrcpy()
safe_wstrcat()
wstrcmp()
wstrncmp()
wstrstr()
wstrchr()
wstrrchr()
wstrtok()
Jeremy.
(This used to be commit ae34e2589ac32b7144607b77bd0d42bc74b42aff)
1999-12-22 00:17:35 +00:00
Andrew Tridgell
4b37a2c1ee when no shares are returned the *shares pointer must be set to null
(This used to be commit 84fe2337c701a52c6dc5cd8c1f6e9050478703f1)
1999-12-22 00:08:25 +00:00
Jeremy Allison
8177fc778b Added new unicode functions - not used yet, but are the basis for the
internal unicode conversion of Samba.
Jeremy.
(This used to be commit 302412df64aa4b6572b13ef61dfd68c3f8ebbb8b)
1999-12-21 23:14:01 +00:00
Jeremy Allison
44dc314fea Changed MAX to MIN in SET_FILE_BASIC_INFO as recommended by "Michael C. Adler" <Michael.Adler@compaq.com>
as this breaks the least number of programs.
Jeremy.
(This used to be commit 2cf408772f7b763a484fdd893da28999c8f9d025)
1999-12-21 19:14:17 +00:00
Andrew Tridgell
d171864c93 expanded the tdb documentation
(This used to be commit efb4fbcca876ec661af0d72d4df2f04f36d4dd76)
1999-12-21 11:44:43 +00:00
Andrew Tridgell
3da55bfb8e changed %g to %3.1f to be friendly to our poor snprintf() code
(This used to be commit 6d506ee641a3e3dc9e1d3b3bbb78fe11b9326c70)
1999-12-21 09:54:24 +00:00
Andrew Tridgell
488115dbce changed message is connections.tdb doesn't exist
(This used to be commit 835b9881c0f04d766545d5e9d2926fbaf8bec904)
1999-12-21 09:33:45 +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
69d24d869b first cut at using the tdb code for the connections structure, the
SWAT status page and smbstatus. It made the code _much_ simpler, I
wish we'd done a database module a long time ago!
(This used to be commit 4951755413c11d4c5b9af4699a6e622056d52433)
1999-12-21 04:54:30 +00:00
Andrew Tridgell
0c4b1ea014 this was left out from the 2.0.6 merge
(This used to be commit 7067aeecabaea8a35f7a27de4b44f1e11afd07b7)
1999-12-21 03:05:38 +00:00
Andrew Tridgell
c2c42b8694 first pass at the database code for Samba. This also includes a test
suite and a very simple tool for manuipulating the databases.

the main code is in tdb/tdb.c and includes both mmap and file based
IO. All databases auto-expand and allow multiple simultaneous writers.

the next step is using this new capability in lots of places in Samba
where we have existing ad-hoc databases
(This used to be commit c89d29cc5e3b6d568928acace01144059f1668b3)
1999-12-21 03:04:37 +00:00
Jeremy Allison
e004340f71 Fix based on code from monyo@home.monyo.com to fix multibyte continuation
issues.
Jeremy.
(This used to be commit 023f90e7664d358ddf73272597e75041f5413e9f)
1999-12-21 02:15:53 +00:00
Jeremy Allison
7b39ef2950 Fix from tulipant-gergely@dbrt.hu for returning incorrect error code
on user auth fail.
Jeremy.
(This used to be commit 886ad59d798175f037ea9249dcefa78660e4992a)
1999-12-21 00:06:00 +00:00
Jeremy Allison
80a180853d *Finally*. Correct patch to fix timestamp problems from Paul Eggert <eggert@twinsun.com>.
I wish I had written this one :-).
Jeremy.
(This used to be commit 8f93c08881c22d121c7337d11de070e2b8f7ba33)
1999-12-20 21:46:41 +00:00
Andrew Tridgell
ce394449c7 added basic nsswitch support - this allows you to use a "wins" entry
in a /etc/nsswitch.conf hosts line.

Only tested on RH6.1, but should work on a broad range of Linux
distributions. It could probably be made to work with Solaris pretty
easily.

It does not build by default. Build it with "make nsswitch"
(This used to be commit 4058eb5bffeec539f71786580376419ea5749351)
1999-12-17 06:11:25 +00:00
Andrew Tridgell
418ba2933f more files from 2.0.6
(This used to be commit 4a205795710010c58ae14bcb950912727c4de466)
1999-12-17 01:52:05 +00:00
Andrew Tridgell
5919c86830 update version to pre-3.0.0
(This used to be commit c3a30ce459d1e535b4aa9a39311e000a4474dbb8)
1999-12-17 01:51:33 +00:00
Andrew Tridgell
a0b9e3ef4f client/smbspool.c from 2.0.6
(This used to be commit 599a7e7f9e73fb7c0da960b46f16990991e9424e)
1999-12-17 01:48:16 +00:00
Andrew Tridgell
e983ca6c46 lib/fnmatch.c from 2.0.6
(This used to be commit dadad3ed675c8ec141abef7836f64de9da13b14d)
1999-12-17 01:47:25 +00:00
Andrew Tridgell
f6cf850f16 printing/print_cups.c from 2.0.6
(This used to be commit 452776a5a7951c84437e424874ff110fc56296db)
1999-12-17 01:46:15 +00:00
Andrew Tridgell
20aba767ea interfaces.h from 2.0.6
(This used to be commit a3d7ec0c9d06f18e656da354e2fec57aaf395fc5)
1999-12-17 01:44:30 +00:00
Andrew Tridgell
9564ab8610 interfaces.c from 2.0.6
(This used to be commit 4e1458b8c161f87339eba251c2179946d3b0405a)
1999-12-17 01:41:55 +00:00
Andrew Tridgell
173f7e66dc util_sec.c from 2.0.6
(This used to be commit 955d187139365d16f3fca1abd3853ca4e49f244c)
1999-12-17 01:39:47 +00:00
Jeremy Allison
92a036cc37 Unicode conversion fix in Japanese environment from Motonobu TAKAHASHI.
Jeremy.
(This used to be commit decc6ebca29abd78754c275352de58b0de2e2aa5)
1999-12-13 19:17:40 +00:00
Andrew Tridgell
32a965e09c 2nd phase of head branch sync with SAMBA_2_0 - this delets all the files that were in the head branch but weren't in SAMBA_2_0
(This used to be commit d7b208786590b5a28618590172b8d523627dda09)
1999-12-13 13:35:20 +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
d45f5cf6b0 jerry spotted that get_domain_sids() was being called with the wrong
arguments: get_any_dc_name() was being called with a server name
not a domain name.  oops.
(This used to be commit 631814302d6992138cfe024ba7bd456cc7e0d3bf)
1999-12-08 23:03:42 +00:00
Luke Leighton
6281c5d7a9 moved sys/un.h to after sys/socket.h. done a gnu autoconf around sys/un.h
(This used to be commit b2ea37a8f1a28a825719b46354a1244b359aca2c)
1999-12-08 22:57:34 +00:00
Luke Leighton
6b22909bde parsing code for transferring unix and nt security credentials over-the-wire.
at present, a unix password is missing from the unix credentials, but is
not _actually_ expected to be needed.  weeelll... maybe :-)

this is used to transfer credentials between smbd and msrpc daemons, down
a unix socket, so that the unix and nt credentials can be inherited by
an msrpc daemon called up from smbd.
(This used to be commit 5e68403bbb6f18e754679d967fee9e259d24211c)
1999-12-08 21:45:57 +00:00
Luke Leighton
4ab9d91428 ABOUT TIME!!!!!!!!
damn, this one is bad.

started, at least two days ago, to add an authentication mechanism to
the smbd<->msrpc redirector/relay, such that sufficient unix / nt
information could be transferred across the unix socket to do a
become_user() on the other side of the socket.

it is necessary that the msrpc daemon inherit the same unix and nt
credentials as the smbd process from which it was spawned, until
such time as the msrpc daemon receives an authentication request
of its own, whereupon the msrpc daemon is responsible for authenticating
the new credentials and doing yet another become_user() etc sequence.
(This used to be commit 30c7fdd6ef10ecd35594311c1b250b95ff895489)
1999-12-08 21:43:03 +00:00
Luke Leighton
a0ba234cf9 the first independent msrpc daemon - lsarpcd.
one horrible cut / paste job from smbd, plus a code split of shared
components between the two.

the job is not _yet_ complete, as i need to be able to do a become_user()
call for security reasons.  i picked lsarpcd first because you don't
_need_ security on it (microsoft botched so badly on this one, it's not
real.  at least they fixed this in nt5 with restrictanonymous=0x2).
fixing this involves sending the current smb and unix credentials down
the unix pipe so that the daemon it eventually goes to can pick them
up at the other end.

i can't believe this all worked!!!
(This used to be commit 2245b0c6d13c7c5886e81f9137b05df883598c26)
1999-12-06 00:44:32 +00:00