1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-31 01:48:16 +03:00

683 Commits

Author SHA1 Message Date
Tim Potter
bc6858805b Removed unused vfs_read_data() function at the request of tridge.
Removed unnecessary SSL stuff from vfs_write_data().
(This used to be commit fdbe79c1c3061c844c1eb859e3e40634a098a8f3)
1999-04-14 07:21:48 +00:00
Matthew Chapman
68e1888fd3 Mainly BDC-related changes.
* Added SEC_CHAN_BDC
* Propagate sec_chan into the various functions which change trust account
  passwords, so they can be used for domain control and inter-domain
  trusts.
(This used to be commit ca540c21f78b4bc8ca36ac3d5af2b8f67cf716c3)
1999-04-08 05:36:39 +00:00
Tim Potter
ab0d0a6f4e Always do a compile before CVS commit! )-:
(This used to be commit 0f37e900fa0744573754796916abf967fee05ea2)
1999-04-08 03:13:33 +00:00
Tim Potter
06c7ec8485 Forgot about closedir() function for VFS. Hoo embarassing.
(This used to be commit c1cbe07c0391c36066b068fdd42bf1aa40259a5c)
1999-04-08 03:01:18 +00:00
Tim Potter
44784f69e0 Under IRIX, a void function may return a value, even if that value is
void!
(This used to be commit e15da6882426edd39ff7fdcd47f1be30c053d4ec)
1999-04-05 23:35:50 +00:00
Tim Potter
4085fb08fd Fix incorrect conversion of fd_attempt_open() calls to vfs_ops.open().
Use VFS I/O for fd_attempt_open() and check_access_allowed_for_current_user().
(This used to be commit abf31ca66f3dab1b8bd7772f83e736e41afb4b1e)
1999-04-05 05:19:34 +00:00
Tim Potter
a4194191ce Use VFS I/O for stat_cache_lookup()
(This used to be commit 5ece1fcffbc5a5062c02edf6f2ecb405c2a2f43e)
1999-04-05 05:18:44 +00:00
Tim Potter
69ae7902bb Disable VFS routines if no libdl available.
(This used to be commit cbfd8a8990b4d06d0c866274e7d28e4a5e384686)
1999-04-05 05:18:07 +00:00
Tim Potter
0ca4ce887c Fixed up incorrect calls to read_file().
(This used to be commit 17d007daa3d1fa60501eae1eecfc2d0f88c1692e)
1999-04-04 07:18:38 +00:00
Tim Potter
5cf21e60c8 Use VFS operations for file I/O.
Modified args to read_predict to pass in fsp.

Renamed sync_file() function to sys_sync_file().
(This used to be commit 7ced7fd3958c76303e4b6019b5d54eda666d7b33)
1999-04-04 07:05:03 +00:00
Tim Potter
6001bd4c46 Use VFS operations for file I/O.
Modified invocations of fd_attempt_close as it now takes a fsp instead
of a fd.
(This used to be commit ef24fcb7b2248aae9c3f1fb4df7466b5ae35f5ce)
1999-04-04 07:03:47 +00:00
Tim Potter
e2cd60b4e1 Wrote VFS initialisation routines.
Converted some useful routines from doscalls.c and changed them to use
VFS I/O functions:

	dos_file_exist
	dos_read_data
	dos_write_data
	dos_transfer_file
	dos_readdirname

Some of these functions have been #ifdef'ed out of doscalls.c as they
are not used anywhere else.  Not sure whether they should be deleted
or not.  The remaining dos_* calls seem to be used by clients and for
locking stuff.  This should be cleaned up sometime.
(This used to be commit ddde0ab9a1e1b90c2a96103721056eb035dcd49d)
1999-04-04 06:39:45 +00:00
Tim Potter
a107d80596 Wrapped up all VFS disk I/O functions for portability. I remember
tridge telling me why this needed to be done but I have since
forgotten.  (-:
(This used to be commit 6e607ef760bd2c0eb3ac31252601ab30de626270)
1999-04-04 06:37:07 +00:00
Tim Potter
6d5ef2e929 Use VFS operations for file I/O.
(This used to be commit cfddbdb62485256a947a30e04c753200451cbe1c)
1999-04-04 06:25:13 +00:00
Tim Potter
afc00dbd6f Call VFS initialisation, share connect and share disconnect functions.
Initialise VFS function pointers with symbols from the 'vfs object'
file, use disk pointers otherwise.

Added a hook to check for a 'default' VFS share (like the [homes]
section).  Currently empty - I'm unsure whether this will be useful or
not.
(This used to be commit 15805164fe77b127372eba1ec51c70758467adee)
1999-04-04 06:22:22 +00:00
Tim Potter
10858bba8e Use VFS operations for file I/O.
Changed arg to fd_attempt_close() from fd to fsp_struct.
(This used to be commit c40124bc9a2ebccf0bb56b1fafa81a551d934aa5)
1999-04-04 05:57:16 +00:00
Tim Potter
5bdddf2462 Use VFS operations for file I/O.
Pass files_struct and connection_struct to read_predict() and
do_read_prediction() functions, respectively.
(This used to be commit 6479abc5b985981f571cb1ee16a0dbb843fcd270)
1999-04-04 05:46:40 +00:00
Tim Potter
d4ba8a3fb3 Use VFS operations for file I/O.
Changed calls to dos_{opendir,readdir} to vfs_{opendir,readdir}
equivalents.
(This used to be commit 5051a210619374639121124e32d24217255e992e)
1999-04-04 05:40:28 +00:00
Andrew Tridgell
d330c907bd Ken McDonell from SGI was interested in adding some profiling
capabilities to Samba so that Samba could talk to the SGI PCP
(Performance Co-Pilot) apps.

This change adds a profiling shared memory area and uses it to count
two fairly trivial things, the number of uid switches and the number
of SMB packets processes. To add more just edit include/profile.h and
then increment it at the right place.

I've also added a -P switch to smbstatus to dump the profile area.
(This used to be commit ef3d61a80ad0b87c196a63ef2bd4fe8fc3863bd0)
1999-04-01 05:22:58 +00:00
Luke Leighton
43a460075a SAM database "set user info".
----------------------------

- removed DOM_RID4

- removed SAMR_UNKNOWN_32

- added SAMR_SET_USERINFO (opcode 0x32)

- added level 0x1 to SAMR_QUERY_DOM_INFO (needed for create user)

- fixed pwdb_gethexpwd() it was failing on XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

- added mod_sam21pwd_entry()

- preparing to call mod_sam21pwd_entry()

- added "user session key" to user_struct.dc.  this is md4(nt#) and is
  needed to decode user's clear-text passwords in SAMR_SET_USERINFO.

- split code out in chgpasswd.c to decode 516 byte password buffers.
(This used to be commit 2e58ed742435befe419aa366c4052019fede8c23)
1999-03-25 13:54:31 +00:00
Luke Leighton
bd76e02ec4 going to start adding inter-domain trust logons soon.
(This used to be commit f9f594c03e220a0d902c5c3c5835948348b19fee)
1999-03-19 15:49:22 +00:00
Luke Leighton
fda194255c Beau Kuiper: provided patch so that passwords could only be changed by
root if the ACB_PWLOCK bit is set (on a per-user basis).  he also added
an extra smbpasswd option so that this bit can be modified from
command-line.
(This used to be commit 534fe319d9de8da2ed7e911dbba3c7df08193efa)
1999-03-19 05:00:39 +00:00
Luke Leighton
c4241b5662 cli_setup_creds new arguments added.
(This used to be commit 5fa3a3f710cfd3a51641d560a96bd08f92afca32)
1999-03-12 19:37:40 +00:00
Matthew Chapman
869f9860eb Return either STATUS_BUFFER_OVERFLOW or ERRDOS/ERRmoredata depending on
whether the client supports 32-bit error codes.
(This used to be commit cb5428308d6978f7bd76c1b878dd4a43135a274d)
1999-02-24 19:08:43 +00:00
Matthew Chapman
05f772b431 Win9x user level security.
* Added SAMR_LOOKUP_DOMAIN (-> SamrLookupDomainInSamServer)

* Added real SAMR_ENUM_DOM_GROUPS (corresponding to
SamrEnumerateGroupsInDomain). The existing one is just an alias for
SamrQueryDisplayInformation (see below).

* Added three extra info levels to SAMR_QUERY_DISPINFO. Info level 3 is
what was previously SAMR_ENUM_DOM_GROUPS; info levels 4 and 5 are
simple user/group list requests used by Win9x and I suspect (haven't
checked) the "low speed connection" User Manager.

* Added another two aliases for SAMR_QUERY_DISPINFO, opcodes 0x30 and
0x33. Usually the first is with info level 3 and the second 4 but there is
some overlap so indeed these should be implemented as just aliases.

* Return ERRDOS/ERRmoredata on extra data instead of
STATUS_BUFFER_OVERFLOW for Win95's benefit. On a named pipe this results
in an SMBreadX as usual.

Still need to fix SAMR_QUERY_DOMAIN_INFO which has a hard-coded number of
users and groups - which Win95 proceeds to truncate at.
(This used to be commit 7d03e6e21908f3a759a4e65c5edd850622335e3e)
1999-02-24 01:52:30 +00:00
Matthew Chapman
2737f26ad6 Always null-terminate strings.
Also some string length and sizeof(pointer) corrections.
(This used to be commit ce24191939b82985d09eabe945199f38b0fea486)
1999-02-15 05:33:30 +00:00
Matthew Chapman
fd96929ec1 UNICODE cleanup (see lib/util_unistr.c).
No more ugly static library buffers and all functions take a destination
string length (especially unistrcpy was rather dangerous; we were only
saved by the fact that datagrams are limited in size).
(This used to be commit a1d39af1ce1d451b811dbd7c2ba391214851b87e)
1999-02-12 00:16:09 +00:00
Luke Leighton
f38bfc7d9a UNICODE issues.
(This used to be commit 6a437cfb33f24913e0c1f8484c0b08ef317e513b)
1999-02-11 22:12:49 +00:00
Luke Leighton
8b6b6b57b5 use jeremy's versions of the UNICODE routines.
(This used to be commit c5109ff782be8774db47a92b48ca6335ec8d6065)
1999-02-10 22:30:47 +00:00
Luke Leighton
96983a13ba when multiple independent large rpc calls come in on the same pipe,
prev_pdu_file_offset was not being re-initialised to zero.
(This used to be commit fcaa1214412f5a417a648d4da5c4332f75f59f57)
1999-02-09 21:42:39 +00:00
Luke Leighton
99a9b0f7c4 UNICODE byte ordering issue: typecast to uint16* replaced with SSVAL()
(This used to be commit 9084b7e33dfe717bd8d5604ee71d137e3baef0f5)
1999-02-08 23:40:49 +00:00
Luke Leighton
37c9693fc8 reload_services needs to be called prior to init_files but after
get_myname.
(This used to be commit 9ab81caa065a0e08368fc9137d42ed810fd4b817)
1999-02-08 01:46:46 +00:00
Luke Leighton
ceef08b60e initialise my name (used in %h) prior to loading smb.conf files.
(This used to be commit ed128c38a88746ec7822d598e72f0106a30a4af7)
1999-02-03 17:10:44 +00:00
Richard Sharpe
f5f913b001 Putting back the -p flag in smbclient.
However, it seems that the -s flag
in smbclient is also ignored :-(
(This used to be commit f6c78192664d611d4663ed7459a2789315861eec)
1999-01-25 01:46:14 +00:00
Luke Leighton
e67a8d9d98 server_cryptkey() now calling cli_connectserverlist(). stupid microsoft
idiotic *SMBSERVER connectionism added to cli_connect_serverlist().
also added check for protocol < LANMAN2.
(This used to be commit c2bcb3a286f22ed4f0f55da2a3eb2bff17906fb1)
1998-12-14 21:22:59 +00:00
Luke Leighton
d4385df3e8 trying to track down issues in get_home_dir().
(This used to be commit 2cce78aa00f31b79d51aaf46da72019b926e8226)
1998-12-14 20:21:39 +00:00
Luke Leighton
8308c000b2 adding srvsvc pipe.
(This used to be commit d06d6369942828ec89e90f99bd0d0d3f91d61d13)
1998-12-08 00:25:04 +00:00
Andrew Tridgell
e50ab2b528 fixed warnings (and potential errors) due to integer overflow when
creating locking masks
(This used to be commit 5e2844d5edb15de29b976d2ff077ffbe012b860c)
1998-12-07 22:43:43 +00:00
Luke Leighton
9c848ec329 removed nt_pipe_fnum from struct cli_state. need to be able to call
LsaLookupSids etc from within SamrQueryAliasMembers, for example.
fnum is now a parameter to client functions.  thanks to mike black
for starting the ball rolling.
(This used to be commit bee8f7fa6b0f7f995f71303f4e14a4aaed0c2437)
1998-12-07 20:23:41 +00:00
Jeremy Allison
8554959985 Sync up critical kernel oplock bugfix. I don't want to lose
this....
Jeremy.
(This used to be commit 5287f3d19b7d8e76970f1ce1abfd95b7341434e5)
1998-12-05 01:03:42 +00:00
Luke Leighton
f3787515d6 moved get_unixgroups it will be needed by the unix instance of the group
DB API
(This used to be commit ef58e48bc9af338ed6c734205d4faf82371284ac)
1998-12-03 17:41:14 +00:00
Luke Leighton
08cdea519c check server role before doing nt user to unix user mapping
(This used to be commit 9d4e810e7dd8d6d80b47204636f9a37774f95455)
1998-12-01 22:39:33 +00:00
Luke Leighton
04e382fb16 rpc_samr.h parse_samr.c srv_samr.c :
samr_query_aliasmembers (cool!)

util_pwdb.c sids.c nmbd.c server.c smbpasswd.c swat.c :

	pwdb_initialise(BOOL is_server) now creates / reads DOMAIN_NAME.SID
	if is_server is True, and does LsaQueryInfoPolicy(levels 3 and 5)
	to obtain member and pdc sids.
(This used to be commit 3e1eb4f26b67e484b05e1dde94fd4e4dae982631)
1998-12-01 19:10:44 +00:00
Luke Leighton
e2d5123400 andrej spotted that entries _not_ in domain map user were being refused.
modified map_nt_and_unix_names() to never refuse a mapping (returns void
now not BOOL).
(This used to be commit faffcb3c8955dcea3987e2978dc34b4dba580167)
1998-12-01 18:24:23 +00:00
Luke Leighton
308da9e82b hm. removed the "if failed to map nt name to unix name, fail tcon call"
restriction and "domain user map" seems to work.

amazing.
(This used to be commit 2c0d91e64a6b330b209ca62c3306ec1a53fda873)
1998-12-01 16:41:34 +00:00
Luke Leighton
c6ad04b8fb attempting to fix "domain user map" up, but it's a bit complicated.
i may simply go for a response in the NetSamLogon returning the
unix username, forcing the NT user to appear to be a unix user,
however even that is fraught with implications.

might just have to go the whole hog and do this tuple thing,
"unix_name + nt_name" always associated together...


issue with api_net_sam_logon, getsam21pwent() being called twice,
the second time overwriting static buffer data (argh) so had to
make a copy.

noticed a nested "become_root()"/"unbecome_root()" which will have
to be tracked down...
(This used to be commit 474f94f419a531e33b475249da7efb99ac22f454)
1998-11-30 22:42:13 +00:00
Luke Leighton
31044dd8e6 - adding builtin[alias]db.
- lib/sids.c:

	generate_sam_sid() modified to take a domain name: it now
	generates "DOMAIN_NAME.SID".  reasons:

	1) if you run multiple samba servers on the same machine
	under different netbios names as members of a domain,
	they won't all use the same SID, which is a _big_ mistake
	but it would happen _by default_.

	2) we have (had) a problem with sid_to_string() and string_to_sid()
	which cause SIDs to be incorrectly read.  one of the major
	reasons for *NOT* making this change was so as not to disrupt
	existing users.  but as they will be anyway by this bug,
	we might as well go ahead.

- passdb/smbpass.c:

	wanted to change the meaning of the name in the smbpasswd
	file to an "nt" name not a "unix" name.  this is probably
	not a good idea: reverted this.

- output formatting / bug-fixing in rpcclient query_useraliases code.
(This used to be commit e4930f5f48f8246ceec8add8bf769954a963190c)
1998-11-30 15:08:58 +00:00
Luke Leighton
53373894ac "retired" two modules to preserve their cvs history.
added their replacements, added sam password database API modules
(This used to be commit b1d1c1337c69c6f6bf25ab932a1a6a757e3ea2ae)
1998-11-29 20:06:52 +00:00
Luke Leighton
30038de462 weekend work. user / group database API.
- split sam_passwd and smb_passwd into separate higher-order function tables

- renamed struct smb_passwd's "smb_user" to "unix_user".  added "nt_user"
plus user_rid, and added a "wrap" function in both sam_passwd and smb_passwd
password databases to fill in the blank entries that are not obtained
from whatever password database API instance is being used.

NOTE: whenever a struct smb_passwd or struct sam_passwd is used, it MUST
be initialised with pwdb_sam_init() or pwd_smb_init(), see chgpasswd.c
for the only example outside of the password database APIs i could find.

- added query_useraliases code to rpcclient.

- dealt with some nasty interdependencies involving non-smbd programs
and the password database API.  this is still not satisfactorily
resolved completelely, but it's the best i can do for now.

- #ifdef'd out some password database options so that people don't
mistakenly set them unless they recompile to _use_ those options.

lots of debugging done, it's still not finished.  the unix/NT uid/gid
and user-rid/group-rid issues are better, but not perfect.  the "BUILTIN"
domain is still missing: users cannot be added to "BUILTIN" groups yet,
as we only have an "alias" db API and a "group" db API but not "builtin-alias"
db API...
(This used to be commit 5d5d7e4de7d1514ab87b07ede629de8aa00519a1)
1998-11-29 20:03:33 +00:00
Andrew Tridgell
6192feac17 don't allow ".." in service name when doing "default service"
processing.
(This used to be commit 702263bba555a1d7c7999d40e5789b7e920dbce4)
1998-11-29 06:23:16 +00:00