1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-01 04:58:35 +03:00

6502 Commits

Author SHA1 Message Date
Jeremy Allison
64f0348a3f This is it ! The mega-merge of the JRA_NMBD_REWRITE branch
back into the main tree.
For the cvs logs of all the files starting nmbd_*.c, look
in the JRA_NMBD_REWRITE branch. That branch has now been
discontinued.
Jeremy.
(This used to be commit d80b0cb645f81d16734929a0b27a91c6650499bb)
1997-12-13 14:16:07 +00:00
Jeremy Allison
155562e514 fixed over char 127 problems with isupper/islower.
Jeremy.
(This used to be commit 4ac95226fff8e48a0024e2beb78df662fcfeda62)
1997-12-11 12:25:01 +00:00
Jeremy Allison
419e8823e9 kanji.c: Patch from Anders Blomdell <anders.blomdell@control.lth.se>
for problem with kanji sj_strXXX functions.
Jeremy.
(This used to be commit bf48151e6ddfa72303be7eac9e156046d4fb5b5e)
1997-12-11 11:07:09 +00:00
Andrew Tridgell
c81a3b8a56 got rid of the WRAP_MALLOC code - mem_man does it better
(This used to be commit d9bb3a4eba9c630370fea0fa297b176fd2afb532)
1997-12-04 07:49:37 +00:00
Andrew Tridgell
02bc90ea44 change the "username map" option to allow the user to stop the
processing part way through the file if a match is found. If a line
starts with ! and a match is made by that line then processing
stops. This allows better wildcard handling.

(patch from Anselm.Kruis@Physik.Uni-Muenchen.DE)
(This used to be commit af57bc05fe0f248aaef329358c583abcffe1657c)
1997-12-03 04:20:39 +00:00
Andrew Tridgell
2b8247dd09 add a warning if the timezone is not a multiple of 1 minute. This
should catch broken timezone files in slackware linux.
(This used to be commit ce37bd9dcaeaf0c5e97845954342762ebaf43b10)
1997-12-03 03:46:43 +00:00
Andrew Tridgell
cc12fc66d1 I'm slowly getting though the todo list :-)
This change allows people to select the SYSLOG_FACILITY in local.h, or
add it to the Makefile if they want to.
(This used to be commit afe88facbfb85113105bf516e066b6c1e971f6b7)
1997-12-03 03:21:25 +00:00
Andrew Tridgell
3e23d79cfe fix toupper(c) on a already uppercase char and tolower(c) on an
already lowercase char when using code pages. Jeremy, can you confirm
that this looks right?  It comes from PR#1992
(This used to be commit 157fde339695d3185ecf857187e981edd06a8b65)
1997-12-03 02:27:50 +00:00
Andrew Tridgell
7b10574429 dont try getpeername() when Client isn't initialised
(This used to be commit a32ca542ad294ecc3848ca511337a8cc994d67be)
1997-12-02 23:24:26 +00:00
Andrew Tridgell
ec8e33cde6 use -1 not 0xffffffff in SIVALS() macros
use the same process_exists() code on all systems (it's probably
faster anyway)
(This used to be commit 901b95aa77ac1ecc45823c23fb4e1d9da8dc8318)
1997-11-29 13:29:13 +00:00
Andrew Tridgell
cf9d07cc7d added a sent_oplock_break element to Files[] as a paranoia check so we
can't sent a oplock break twice on the same file.

changed some debug levels in the oplock code to level 0 so we can
track down a bug

zero the returned Files[] entry in find_free_file()

don't try to overcome client bugs in the handling of non-encrypted
passwords if in server level security mode

added paranoid null termination of password buffers

slight change to my ajt_panic() routine
(This used to be commit e360c79c9cec681c4609783019749773d3e79386)
1997-11-29 02:40:31 +00:00
Andrew Tridgell
51f20adc6b added true enumerated types in loadparm.c. Now we don't need all those
"interpret_security" and similar functions. This also means that
testparm produces string values for these enumerated types rather than
an integer. This was done to make the web interface much cleaner.

While I was doing this I found a couple of very nasty bugs in the
parm_table code. Someone had added a handle_character_set() function
that treated the char** pointer for a P_STRING as an integer! This
would have caused memory corruption for anyone using the "character
set" option. The loadparm code is delicate - please be careful about
using it's more esoteric features!

I've also removed the "coding system" global and made it a
P_STRING. The integer value was never used anywhere in Samba.
(This used to be commit bac6b0daa288e879330e3d585582122bb93a1ffb)
1997-11-22 07:09:12 +00:00
Andrew Tridgell
e8f3f79aa5 use LocTimeDiff() not TimeDiff() to ensure that longdate conversion is
consistent (this is really just a cosmetic change)
(This used to be commit 30b84bb68bfbfb022decc36c1b4869a39a06e556)
1997-11-21 04:57:37 +00:00
Andrew Tridgell
3670f3d9c0 change from %D to %m/%d/%Y in timestring(). This doesn't really matter
as it is only for logging but it will prevent people from writing in
to say that we are not y2k compliant after running auto-diagnostic
tests.
(This used to be commit b4e55cd4765085fc2465c6ff757094e05eabc51e)
1997-11-06 13:45:50 +00:00
Andrew Tridgell
ba5086d03e no asm/signal.h for linux as this is not portable
add auto username from LOGNAME for smbtorture

proto fix in ufc.c
(This used to be commit f13dbdf307ccffc15a74e2ffa72da666e53a72b6)
1997-11-06 06:50:21 +00:00
Jeremy Allison
cdc6099647 Rolling back the files
loadparm.c : to equivalent to version 1.67
reply.c : to equivalent to version 1.69
server.c : to equivalent to version 1.122
util.c : to equivalent to version 1.98

to remove the incorrect changes.

proto.h: The usual.

rpc_pipes/smbparse.c : Backeting stuff that SHOULD NOT BE IN THE
                       none-NTDOMAIN build !

Jeremy.
(This used to be commit 6064c9d80fd9fcc3ceec528494ba5e2591610098)
1997-11-03 19:24:45 +00:00
Luke Leighton
b26623bc3a Christian Lademann's contribution: new capabilities in smb.conf.
'<' and '|' characters indicate read file and execute command respectively,
and feed the output into the parameter (!!!).

'<$' and '|$' means run standard_sub_basic() on them.

this is going to be fun to document in smb.conf.5....

also, Christian created a new "online" service parameter.  services can
be taken "off-line"....
(This used to be commit 15f44d28916cdc1432bffdbb999c7cf7efd8fb86)
1997-11-02 20:35:20 +00:00
Andrew Tridgell
0024725005 change a debug level
(This used to be commit d8b896a90fb693187a11456e46971c873e9f0d60)
1997-11-01 08:13:54 +00:00
Luke Leighton
520878fd1f ipc.c ntclientpipe.c:
response to Bind Acknowledgment needs a lookup table for the PIPE string
	(secondary address in RPC_HDR_BA structure).

smbparse.c util.c :

	interesting problem, i think caused by us typecasting a uint16* buffer
	to char*.  found on a SPARC.
(This used to be commit 420408ee83902faa6cf871f26e93ad5efb483727)
1997-10-29 19:05:34 +00:00
Luke Leighton
ebafb1e288 called dump_data() from show_msg().
(This used to be commit 89664898e2457de2986d515f6f476993ee1bbea2)
1997-10-29 15:35:53 +00:00
Luke Leighton
fe0a702322 byteorder.h :
added mode for printing debug array data as chars not uint8/16/32s.
	only really useful for (uint8) strings or (uint16) unicode strings

lsaparse.c smbparse.c smb.h :

	rpc bind and rpc bind ack structures and parsing and creation functions.

ipc.c pipes.c pipenetlog.c pipentlsa.c pipesrvsvc.c :

	using rpc bind / bind ack parsing routines instead of incorrect use of
	api_LsarpcTNP1 function.

ntclient.c :

	creation of do_rpc_bind() function.

THAT'S IT, FOLKS!
(This used to be commit 21c89e2f17c51939fd6b53dddbe3072419eb0db2)
1997-10-29 00:04:14 +00:00
Luke Leighton
a60ad7bef3 default server_name if NIS server is unavailable should be the local
machine, not a NULL string.
(This used to be commit 5b15b17fc6da0e2b496822638edf566dedf3efde)
1997-10-24 13:58:21 +00:00
Luke Leighton
a12f047533 nterr.c :
added a structure that wraps nt errors as strings and enums, so we
	can do a smb_nt_error() function.

Makefile ntclient.c :

	added ntclient.c, broken out nt domain stuff into a separate file.
	getting fed up of compile-times and size of client.c.

	fixed the do_lsa_req_chal() function.  made it read the response,
	and return the challenge credentials received from the server.

	next stop: do_lsa_auth_2().

client.c :

	removed nt domain logon functions into a separate file.

pipenetlog.c pipentlsa.c pipesrvsvc.c smbparse.c :

	i'd broken the offsets of the RPC_HDR while trying to sort out the
	nt client code.  fixed it again.  added some robustness stuff.

util.c :

	the unistrn2() function was null-terminating the string at one
	character too many.
(This used to be commit 39cec7f698c4461aee05cfbb213879fbd486117d)
1997-10-24 13:15:34 +00:00
Jeremy Allison
abb255cfe6 Big change to make nmbd code more readable/understandable.
Main change is removal of find_name_search() confusion.
This has been replaced with find_name_on_subnet() which
makes it explicit what is being searched.

Also changed wins_subnet to be wins_client_subnet in
preparation for splitting the wins subnet into client
and server pieces.

This is a big nmbd change and I'd appreciate any
bug reports.

Specific changes follow :

asyncdns.c:
     Removed wins entry from add_netbios_entry(). This is now
     explicit in the subnet_record parameter.

interface.c:
     iface_bcast(), iface_nmask(), iface_ip() return the
     default interface if none can be found. Made this
     behavior explicit - some code in nmbd incorrectly
     depended upon this (reply_name_status() for instance).

nameannounce.c:
     find_name_search changes to find_name_on_subnet.

namebrowse.c:
     wins_subnet renamed to wins_client_subnet.

namedbname.c:
     find_name_search removed. find_name_on_subnet added.
     add_netbios_entry - wins parameter removed.

namedbsubnet.c:
     find_req_subnet removed - not explicit enough.

nameelect.c:
     wins_subnet renamed to wins_client_subnet.

namepacket.c:
     listening() simplified.

nameresp.c:
     wins_subnet renamed to wins_client_subnet.

nameserv.c:
     find_name_search moved to find_name_on_subnet.

nameserv.h:
     FIND_XXX  -> changed to FIND_SELF_NAME, FIND_ANY_NAME.

nameservreply.c:
     find_name_search moved to find_name_on_subnet.
     Debug entries changed.

nameservresp.c:
     wins_subnet renamed to wins_client_subnet.

namework.c:
     wins_subnet renamed to wins_client_subnet.

nmbd.c:
     wins parameter removed from add_netbios_entry.

nmbsync:
     wins_subnet renamed to wins_client_subnet.

proto.h: The usual.

server.c:
     remove accepted fd from fd_set.

Jeremy (jallison@whistle.com)
(This used to be commit 2c97b33fc0b5ef181dbf51a50cb61074935165bf)
1997-10-23 22:30:57 +00:00
Luke Leighton
5cd52a56a4 playing about, trying to SMBopenX a \PIPE\NETLOGON (should be a SMBopen)
and then send a LSA_REQ_CHAL down it.
(This used to be commit 473f21071fad603865358821b83df6b58c9a06a5)
1997-10-23 13:38:46 +00:00
Luke Leighton
2e8cedba64 loadparm.c :
added "domain other sids" parameter

pipenetlog.c :

	using "domain other sids" parameter in SAM Logon response.
	using new name_to_rid() function for r_uid and r_gid.

pipentlsa.c :

	minor mods to do with new name_to_rid() function.

pipesrvsvc.c :

	in the "net share enum" response, allocate some more space for the buffer.
	there can be only 32 share entries in the response anyway.  this needs
	to be dealt with.

pipeutil.c :

	modified name_to_rid() function to use new parameters "domain admin users"
	and "domain guest users", but will otherwise do unix uid + 1000.

	moved make_dom_gids() here.

proto.h:

	the usual.

smb.h smbparse.c :

	renamed sid_no to sid_rev_num in DOM_SID, and gid to r_gid in DOM_GID.

util.c :

	moved make_dom_gids() from here.
	created char *unistrn2(uint16* uni_buffer, int max_len)
(This used to be commit ec60e48d7982240b7755d246b2f1e8989467f66f)
1997-10-22 11:31:37 +00:00
Luke Leighton
efe9b26a7b loadparm.c :
added "domain admin users" parameter
	added "domain guest users" parameter

	these two complement the "domain groups" parameter.  the "domain groups"
	parameter should be for your own groups, and well-known aliases.

util.c :

	added ability to do "domain groups = power_users admin_users backup_ops"
	which are well-known RID aliases, not well-known RID groups.

pipenetlog.c :

	combine the "domain admin users"; "domain guest users" and "domain groups"
	parameters to give an array of RID groups to include in the SAM Logon
	response.

ipc.c smb.h :

	moved REALLOC() into smb.h
	added RID #defines.

proto.h:

	usual.
(This used to be commit f2554f231d1f59f30224adcc02b2b3ca4c24e0dd)
1997-10-21 18:25:14 +00:00
Jeremy Allison
79f4fb52c1 loadparm.c: Changed 'interfaces only' parameter to 'bind interfaces only'. Added
'dos filetimes' parameter for UTIME fix.
locking_shm.c: Fixed typo (sorry Andrew :-).
namepacket.c: Changed lp_interfaces_only() to lp_bind_interfaces_only().
proto.h: The usual.
reply.c: Made filetime calls use new file_utime call (wrapper for sys_utime).
server.c: Made filetime calls use new file_utime call (wrapper for sys_utime).
system.c: Added Andrew's sanity checks to times in sys_utime().
time.c: Moved set_filetime() to server.c. Made null_mtime()global.
trans2.c: Made filetime calls use new file_utime call (wrapper for sys_utime).
Jeremy (jallison@whistle.com)
(This used to be commit 41a1d81c112a82ad2ae1b3c4ee81051f133ce1ed)
1997-10-20 18:52:04 +00:00
Luke Leighton
77a9385525 added "domain groups" parameter, allowing you to specify the groups that
the user belongs to.

it would be nice to know exactly what the domain groups _are_....
(This used to be commit c6e37d8db0cd89a84a54a0cedfeacf50fb3f7a4c)
1997-10-20 16:25:19 +00:00
Luke Leighton
423a7c4171 util.c password.c :
added automount_server() function which, if -DAUTOMOUNT is in use,
	returns the server name of the NIS auto.map entry.  otherwise,
	it returns local_server.

	added use of automount_server() for a new substitution %N for NIS
	home server.  this defaults, via automount_server(), to the same
	functionality as %L if -DAUTOMOUNT is not used.

	removed vuser->home_share.  moved code that grabbed the servername
	into the separate function automount_server().

loadparm.c :

	created "logon drive" (default of "")
	created "logon home"  (default of "\\%N\%U")
	changed default of "logon path" from NULL to "\\%N\%U\profile".

ipc.c pipenetlog.c :

	use lp_logon_drive(), lp_logon_home() and lp_logon_path() in their
	now easier-to-use form (don't have to check if *lp_logon_path() and
	manually substitute a default of \\%L\%U and do a standard_sub_basic()
	on the result, because the default automatically does this.
(This used to be commit c6c28a4c3c9010ff9d5eac4bad091189a786d5a0)
1997-10-20 12:10:58 +00:00
Andrew Tridgell
f4b4b3e6e3 casting cleanups
(This used to be commit ab849a97821c9e1f199eea8ea2ec477687bed947)
1997-10-20 02:50:12 +00:00
Luke Leighton
54ffd7f5c9 Makefile :
added srvparse.o and pipesrvsvc.o

smb.h :

	mods to the Net Share Enum stuff

srvparse.c :

	Net Share Enum parsing support.  more srvsvc pipe parsing to go here...

pipenetlog.c util.c:

	modified standard_sub_basic() so that you can set a global boolean
	and use a different string for the %U username substitution.

proto.h:

	the usual.
(This used to be commit 22b86b6499b2680d16cb4180a736b4e750147409)
1997-10-19 15:33:25 +00:00
Jeremy Allison
c336a2f081 .cvsignore: Added make_smbcodepage
interface.c: Added is_local_net().
locking.c: Added Fix for zero length share files from Gerald Werner <wernerg@mfldclin.edu>
           plus a race condition fix for the fix.
nameannounce.c: Made function static.
namedbresp.c: extern int ClientDGRAM removed - not used.
namedbserver.c: extern int ClientDGRAM removed - not used.
namedbsubnet.c: Added code to make sockets per subnet.
namepacket.c: Added code to read from all sockets & filter.
nameresp.c: extern int ClientDGRAM removed - not used.
nameserv.c: Indentation tidyup :-).
nameserv.h: Added sockets to struct subnet.
nameservresp.c: Improved debug message.
nmbd.c: Changed to terminte on listen_for_packets exiting.
nmbsync.c: extern int ClientDGRAM & ClientNMB removed - not used.
proto.h: The usual.
util.c: Fixed debug message.
Jeremy (jallison@whistle.com)
(This used to be commit 6904c2de080b2a9702800e9e4126386ced20569d)
1997-10-17 23:08:07 +00:00
Luke Leighton
f3c37f925e smbparse.c smb.h :
uni_max_len and uni_str_len are the other way round, in UNIHDR.

util.c :

	increased the show_msg() data size from 256 bytes to 512 bytes:
	the LSA SAM Logon response can be about 500 bytes long.

pipenetlog.c :

	forgot to set the authoritative field to 1.
(This used to be commit 71c6678cd7ffe30a5da27766cf99147e1921feae)
1997-10-17 13:43:01 +00:00
Andrew Tridgell
cc0f55bd5b added loopback_ip. This is used to detect packets from ourselves
(This used to be commit eb76fea411c5c3aa96b7158d02b49ed42ec7ba70)
1997-10-15 09:16:30 +00:00
Luke Leighton
0b04310b8a align_offset() adjusted pointer to wrong location. oops.
(This used to be commit ba28678e3f673cd10d936f59ff0df6a852aca793)
1997-10-13 11:15:46 +00:00
Luke Leighton
a26037ac7c added debugging macros (suitable eventually for use in tcpdump, hopefully)
(This used to be commit 946d73cf838976b905550288cac3aea7c43959f6)
1997-10-12 11:46:42 +00:00
Luke Leighton
9160c85a78 namelogon.c :
added NTLOGON.  (fixed the case 0:)

namepacket.c:

	call to NTLOGON mailslot

nameserv.h

	defines for NETLOGON and NTLOGON mailslot

util.c:

	added andrew's dump_data() function.
(This used to be commit 1eaad1c99463dcd42eb8ff4ea5686ad9ec6fc42e)
1997-10-11 15:10:57 +00:00
Andrew Tridgell
1ece349db5 fixed the log wrapping bug.
This is a very nasty bug that I think explains quite a few
intermittent problems people have been having with Samba.

It may be worth checking on other cases where errno can be overwritten
by seemingly innocuous things (in this case a DEBUG() line)
(This used to be commit 1448f528b60402170257c1cdf6831cc40b4c86c9)
1997-10-10 02:32:01 +00:00
Luke Leighton
ad54a56714 credentials.c:
use UTIME structure (defined and commented in smb.h to be time, secs,
                         since 01jan1970)

pipes.c:

	another sub-function.

util.c:

	added char *unistr2(uint16 *buff) function.  same as unistr except
    it takes uint16* instead of char*.

smbparse.c smb.h:

	more structure sorting.

proto.h:

	the usual.
(This used to be commit 72a86f514f0c92b69499718e63f5dd73ebece56e)
1997-10-09 14:40:46 +00:00
Christopher R. Hertel
ed61181f29 I rewrote the name_mangle() and name_len().
The interface is the same, but I've simplified the code a bit and added
a few comments.  I tested the changes and the output is the same as that
produced by the original (at least, it was in all of my tests).  CRH
(This used to be commit 707d0ec388c0045938f367e1d17919bfc8637fea)
1997-10-07 22:04:05 +00:00
Andrew Tridgell
0235299ea5 increase the debug level in the "added interface" debug line
(This used to be commit b12b3626fd9ccc9cdf2111937b3ee344da361b1f)
1997-10-07 14:36:22 +00:00
Jeremy Allison
2e92be3aaf client.c: Changed shadowed variable.
locking.c: Removed USE_OPLOCKS - now the default.
params.c: Removed unused variable.
proto.h: Updated.
reply.c: Removed USE_OPLOCKS - now the default.
server.c: Removed USE_OPLOCKS - now the default.
smb.h: Removed USE_OPLOCKS - now the default.
smbparse.c: Changed shadowed variable.
status.c: Removed USE_OPLOCKS - now the default.
util.c: Removed USE_OPLOCKS - now the default.
Jeremy (jallison@whistle.com)
(This used to be commit b93509846d6291771787af457500eec8984ee6bd)
1997-10-06 17:52:25 +00:00
Luke Leighton
07cc8fd8e8 proto.h:
- recreated, as usual.

smb.h:

- added RPC_HDR structure - the 18 byte MSRPC header

smbparse.c:

- added smb_io_rpc_hdr() function to read/write the RPC_HDR structure.

util.c:

- added align2, align4, align_offset functions.
- added skip_unicode_string, unistrcpy, unistrncpy functions.
- modified unistrcpy and unistrncpy to return the number of unicode
  characters returned, effectively making skip_unicode_string redundant.
(This used to be commit b0ad811cda3dcffed5b24104229813cdb17b014f)
1997-10-04 16:51:43 +00:00
Jeremy Allison
2f7b04061e locking.c: Fixed incorrect parameter count in debug statements. May explain
solaris crashes.
reply.c: Added NT specific error code. Put oplock break code in correct place
         in reply_lockingX.
server.c: Removed unneeded error mapping stuff.
          Fixed race condition in oplock code.
trans2.c: Added NT specific error code.
util.c: Added paranoia check in interpret_addr. Some core dumps
        reported here. Upped fcntl debug levels.

Andrew. Please check the NT specific error code handling (search
for the string "/* Ugly - NT specific hack - but needed (JRA) */",
this makes NT and 95 clients behave correctly here - please check
your Visual Basic apps with this code.

Jeremy (jallison@whistle.com).
(This used to be commit 97ee4a5f69bd9cfbbc8710a1a04d80db0ee40104)
1997-10-03 20:36:06 +00:00
Jeremy Allison
4438d7b57e proto.h: Updated.
server.c: Updated after netbench observation. Oplocks must be
broken *before* share modes are checked, not after. Netbench seems
to be working now.
smb.h: Added offsets for oplock break time fields.
trans2.c: Upped debug messages.
util.c: Upped debug messages.
Jeremy (jallison@whistle.com)
(This used to be commit bc4b70c566ed5fa926441fb64a0f756a6137d8d0)
1997-10-03 03:15:24 +00:00
Jeremy Allison
c9cf77a6bb Modified some debug messages, moved from 5 -> 8.
Jeremy (jallison@whistle.com)
(This used to be commit cb83c74a6ccfc44721af65b75625a949782c758a)
1997-10-02 02:36:11 +00:00
Jeremy Allison
a0cd12e221 dir.c: more pstrcpys.
local.h: Add OPLOCK_BREAK_TIMEOUT.
password.c: Fix for paranoia password server security bug.
proto.h: Updated.
reply.c: Oplock changes.
server.c: Massive oplock changes - nearly there....
smb.h: oplock definitions.
util.c: Add local message processing queues for oplocks.
Jeremy (jallison@whistle.com)
(This used to be commit 92f1553db2cdf6f32881eb984a87050cf3e4760b)
1997-09-30 02:38:19 +00:00
Jeremy Allison
dff16872ca Syncing up current oplock work in progress. #ifdef'ed out
so should have no effect on other work.
Jeremy (jallison@whistle.com)
(This used to be commit 7e3d4c8b21f63a06d32605d230129e36883ad08c)
1997-09-26 19:26:56 +00:00
Jeremy Allison
d939350de4 Correctly rolled back interface.c (I was working on an older
revision). This will now be the current revision.
Jeremy (jallison@whistle.com)
(This used to be commit eb55ddd5bff1c6f95292215a8c53acb6bfdadeb2)
1997-09-26 19:23:26 +00:00