1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-25 17:57:42 +03:00

670 Commits

Author SHA1 Message Date
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
Luke Leighton
9a0cb06b24 fixing group database issues
(This used to be commit 591c63e3e1e3201ddcd7582585b652fb848d80ca)
1998-11-25 23:11:25 +00:00
Jeremy Allison
bfc38ff872 Makefile.in: Added maintainer mode fixes.
aclocal.m4: Added AC_LIBTESTFUNC.
configure.in: Fixed -lsecurity -lsec problems.
client.c: dos_ fixes.
groupdb/aliasunix.c: Dead code removal.
include/includes.h: Added default PRINTCAP_NAME.
lib/genrand.c: dos_ fixes.
lib/replace.c: Added strtoul.
lib/system.c: dos_ fixes.
lib/util.c: dos_ fixes.
lib/util_sid.c: Signed/unsigned fixes.
lib/util_str.c: removed bad const.
locking/locking_slow.c: dos_ fixes.
printing/printing.c: dos_ fixes.
rpc_server/srv_samr.c: Dead code removal.
rpc_server/srv_sid.c: global_myworkgroup defined with wrong size AGAIN !
smbd/dir.c: dos_ fixes.
smbd/open.c: dos_ fixes.
smbd/oplock.c: dos_ fixes.
smbd/reply.c smbd/server.c smbd/service.c smbd/uid.c: dos_ fixes.

Jeremy.
(This used to be commit 6acb4b68f68d516e2ac3c47e500f5600d653435e)
1998-11-25 21:17:20 +00:00
Luke Leighton
59d4087160 LsaLookupNames client call (first used as lookupnames command in rpcclient).
(This used to be commit 68342a29a892e515cf2b22d759476d61944bcd59)
1998-11-25 19:57:04 +00:00
Luke Leighton
c9b2f20efc fixing domain join and domain login problems
(This used to be commit 90a24664318da97a6e8cfe4622a8573c0e3cbe5e)
1998-11-25 14:54:23 +00:00
Jeremy Allison
51b85654e3 Fixed oplock test path spec bug.
Jeremy.
(This used to be commit 252dd8b8929adbdff9917395d4f8caad2d7882b2)
1998-11-24 00:40:27 +00:00
Jeremy Allison
a4cfbedf1e Fixed -Wall -Wshadow warning.
Jeremy.
(This used to be commit 81b90208910528a4ace683f30e39c54d8cfa12b7)
1998-11-23 23:55:33 +00:00
Luke Leighton
a5cbb4ab27 remove / add / attempt to stop remove didn't work.
(This used to be commit 82b6292dff38f4e22ee8feab1b54504b95d705fa)
1998-11-23 21:54:19 +00:00
Luke Leighton
4cee58780c unix instance of group database API
(This used to be commit e76f593b3572ac881f1aa1fb3326d8b7169b0078)
1998-11-23 21:51:05 +00:00
Andrew Tridgell
8757254f39 changed string_sub() to replace " ; and ` in the inserted string with _
use all_string_sub() if you don't want this.
(This used to be commit a3357ab49335106674fe7a7481cd0f146d74fbe5)
1998-11-23 03:36:10 +00:00
Andrew Tridgell
091a92e996 try to use *SMBSERVER to connect to password server if the first
session_request fails.
(This used to be commit ab2370e7ac770f1e32b8d726ab955457fcc8c2d7)
1998-11-21 01:28:15 +00:00
Andrew Tridgell
bb5fab7b55 formatting change
(This used to be commit 94fc7fe3afa1dc5547050248738eb697c1eeef59)
1998-11-21 01:26:18 +00:00
Jeremy Allison
a97baa50fd smbd/password.c: Added *SMBSERVER fix is name is too long.
web/swat.c: Changed '?' to help.
Jeremy.
(This used to be commit 631913ea856926a77304692c74a1bd27faead179)
1998-11-21 00:16:28 +00:00
Jeremy Allison
ab1ab1ce0d Instrumented hack fix with debug level 10 statements just in case :-).
Jeremy.
(This used to be commit 10f51b85722141f99ffecc3f19a39de108400828)
1998-11-20 23:22:43 +00:00