summaryrefslogtreecommitdiff
path: root/source3/include/smb.h
AgeCommit message (Collapse)AuthorFilesLines
1997-10-28lower the default hash size if SEMMSL isn't definedAndrew Tridgell1-4/+1
(This used to be commit 9f0be847fdbcf0f8bbd69de6cdf277ae0440bcda)
1997-10-28SYSV IPC implementation of fast share modes.Andrew Tridgell1-1/+4
It will try sysv IPC first, then if that fails it will try mmap(), then after that it will try share files. I have defined USE_SYSV_IPC for Linux, Solaris and HPUX at the moment. Probably a lot more could have it defined. In fact, the vast majority of systems support it. Need autoconf again :-) It should actually be faster than the mmap() version, and doesn't need any lock files. This means the problem of the share mem file being on a NFS drive will be gone. (This used to be commit cc8fe0f0629eea9acc39e30d8d76d5890a5b6978)
1997-10-27added LSA_Q_CLOSE and LSA_R_CLOSE (also to smb.h). implemented in smbclient.Luke Leighton1-2/+19
updated Query Info Policy to report domain name and domain sid for info levels 3 and 5. fixed bug in dom_sid_to_string (idauths decoded wrong). fixed bug in DOM_SID: subauths are 32 bit not 16. (This used to be commit 2f3cca23e2465ca6a3a31fda005af1fd74f6af92)
1997-10-27added LSA Open Policy query and response processing to smbclientLuke Leighton1-0/+22
(This used to be commit 16cc27852bf54999db4b0a3665b0743d9fe0e74a)
1997-10-27Fixed 2 oplock bugs:Andrew Tridgell1-4/+2
1) the oplock macros in smb.h used | where they should have used &. This means that smbd thought that all clients were always requesting oplocks. This would have _really_ confused smbclient and smbfs when they started receiving async oplock break requests when they don't even know what an oplock is! 2) an oplock break request from a client can be embedded in a normal lockingX request, and will be if the client has batched any lock requests internally. The smbd code assumed that all oplock break requests had num_locks==num_ulocks==0 which is not true. The only thing special about a oplock break request with num_locks==num_ulocks==0 is that no reply is sent. Otherwise it is processed as a normal locking request in addition to the oplock break processing. These two fixes get the MS mail system in Win98 working on a Samba 1.9.18 network drive. Andrew (This used to be commit ed71534df56d0296280dbde1859597fb42002088)
1997-10-25added correct client-side credential generation / checking to the LSA SAMLuke Leighton1-1/+1
Logon query. i think i even got the client-side checking of the response credentials right! (This used to be commit f14c111835e18e361468cc6a1666a02654afe743)
1997-10-25got the SAM logon request generated, and received a SAM logon response back.Luke Leighton1-3/+3
YEAH! need to add: - client-side credential calculation - client-side parsing of the SAM logon response. (This used to be commit 349677de3f06bb0892862de0e11172adeffda18a)
1997-10-25Makefile :Luke Leighton1-3/+3
adding bits for new nt domain code byteorder.h : trying to get macros right, and not to crash on SUNOS5... client.c : added #ifdef NTDOMAIN, and created do_nt_login() function. don't want to have to recompile client.c unless absolutely necessary. credentials.c : moved deal_with_creds() [possibly inappropriately] into credentials.c ipc.c reply.c server.c uid.c : attempting to make (un)become_root() functions calleable from smbclient. this is a little tricky: smbclient might have to be another setuid root program, immediately setuid'ing to non-root, so that we can reset-uid to root to get at the smbpasswd file. or, have a secure pipe mechanism to smbd to grab smbpasswd entries. or the like. smbdes.c smbencrypt.c : created a function to generate lm and nt owf hashes. lsaparse.c ntclient.c smbparse.c : added nt client LSA_AUTH2 code. it works, too! pipenetlog.c pipentlsa.c pipesrvsvc.c : simplification. code-shuffling. getting that damn offset right for the opcode in RPC_HDR. smb.h : changed dcinfo xxx_creds to DOM_CRED structures instead of DOM_CHAL. we might need to store the server times as well. proto.h : the usual. (This used to be commit 82436a3d99d4bdce249ce9ff27fd2ca4b2447e07)
1997-10-22Makefile client.c :Luke Leighton1-0/+8
adding start of undocumented options to do NT domain logons, client-side. starting with LSA_REQCHAL. the code here happily crashes smbd: i'll investigate this further... :-) smbparse.c pipeutil.c lsaparse.c : moved some of the common make_xxxx() functions out of pipeutil.c so that the make_xxxx and (smb/lsa)_io_xxxx functions now sit together. makes sense, really... added a make_q_req_chal() function. restructured make_rpc_reply() and called it make_rpc_hdr(). created functions create_rpc_reply() and create_rpc_response(). pipenetlog.c pipentlsa.c pipesrvsvc.c calling new create_rpc_reply() function instead of old make_rpc_reply(). proto.h : usual. smb.h: added enum for RPC_PACKET_TYPE (This used to be commit b88ee3e16c6b671069f53ca2e9c5694ec8b1c030)
1997-10-22Makefile client.c clientutil.c clitar.c nmbsync.c :Luke Leighton1-0/+6
redid the split that i did a year ago, taking the functions in client.c out into clientutil.c. guess what? we could now do encrypted password NetServerEnum2 calls in nmbd, if we wanted to. i can now use cli_call_api() to send to different pipes. i hope. pipenetlog.c: allow adding to users group _and_ to admin group. if adding to guest group, don't allow adding to users or admin as well. smb.h : added some pipe #defines (\PIPE\NETLOGON \PIPE\srvsvc ...) proto.h : usual. (This used to be commit 6ee065ce6e099acfc7e83ad399ef6e60b4c625c1)
1997-10-22loadparm.c :Luke Leighton1-4/+4
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-22shared memory code cleanups (partly preparing for a possible sysVAndrew Tridgell1-2/+17
shared memory implementation) (This used to be commit 8d1993c71a5d5d32636f62ba9b9a9009ec74d730)
1997-10-21loadparm.c :Luke Leighton1-0/+28
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-21rewrote the password server code using the new clientgen.c clientAndrew Tridgell1-0/+26
interface The new code uses a source netbios name equal to the Samba servers name, not the client name. It also uses NetWkstaUserLogon to do a full network logon. This means it will honour the servers logon restrictions (such as login times etc). (This used to be commit 11de90f972f6d83974425e80014f54e15d495413)
1997-10-20removed home_share from user_info structure.Luke Leighton1-4/+0
(This used to be commit c59b8cee4721eeeb79f07f48ac17492530d4cdb1)
1997-10-20a major share modes reorganisation.Andrew Tridgell1-54/+15
The shares modes code is now split into separate files. The shared memory implementation is in locking_shm.c. The slow implementation is in locking_slow.c It is all controlled by a struct share_ops structure that has function pointers to the implementation of all the functions needed by a share modes implementation. An initialisation function sets up this structure. This will make adding new implementations easy and clean. This also allowed me to get rid of the ugly code in smbstatus. Now status.c links to the locking code and calls methods in share_ops. I also renamed some things and generally organised things in a much cleaner fashion. Defines and structures specific to each implementation have been moved to the appropriate file and out of smb.h. (This used to be commit 65ab9adaa0d356b8041ed8a507ea52117f2a284e)
1997-10-19debugging the srvsvc Net Share Enum. some padding issues; some string lengthLuke Leighton1-1/+3
issues. it works! (This used to be commit 80523a3e83191c9e0b930fc71bd502a94a6f1b19)
1997-10-19creating NetShareEnum parsing / reply creation. compiles, but untested.Luke Leighton1-4/+5
(This used to be commit 0a191ee5047b2c81c7adb0554c39ec43d8690230)
1997-10-19Makefile :Luke Leighton1-9/+19
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-19added the following structures:Luke Leighton1-0/+67
SH_INFO_1 SH_INFO_1_STR SHARE_INFO_1_CTR SRV_Q_NET_SHARE_ENUM SRV_R_NET_SHARE_ENUM the share info1 container can handle a maximum of 32 shares. the share info1 string structures contain two unicode strings, with 1024 uint16 characters _each_. we're going to _have_ to dynamically allocate the unicode strings, else we'll run out of stack space. rapidly. (This used to be commit e8bedb18bf249d2f06834b0f151ea22df86e2602)
1997-10-17pipenetlog.c lsaparse.c smb.h :Luke Leighton1-2/+2
SAM logon sorting. too many buffer pointers. added in the missing switch value (value of 3). dealing with the buffer pointers to the user info structure in a slightly different way. (This used to be commit 7993e17c9a1edddae6407d3f12790c461def705a)
1997-10-17smbparse.c smb.h :Luke Leighton1-1/+1
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-16smb.h :Luke Leighton1-2/+5
id_info_1 has a pointer at the front of it. so does return credentials, and so does the client credentials. these are all from the sam logon. auth_level is 16 bytes not 32 and is actually called a switch_level. smbparse.c : smb_io_unihdr() - uni_max_len and uni_str_len are 16 bytes not 32. this may have a knock-on effect on smb_in_unihdr2() but we'll see... (This used to be commit ce36bfb3e4ad4b72a9f9759a3c49d2a73175d249)
1997-10-15smb.h smbparse.c pipenetlog.c :Luke Leighton1-4/+22
whoops, the SAM Logon structure was wrong. updated this, and cifsntdomain.txt. more debug info in pipenetlog.c. the crash is somewhere around deal_with_credentials(). byteorder.h : put in uint8, uint16 and uint32 typecasts around debug info, because sign extending was resulting in ffffffe8 being displayed instead of e8. credentials.c : some debugging info, because i'm tracking a coredump. without gdb. nothing like making things difficult. reply.c : whoops, missed this (important) bit from paul's code, which tells the NT workstation that the MACHINE$ entry doesn't already exist, and we're going to create a default entry with a password "machine" right now. proto.h: the usual. (This used to be commit ed606bc7d4e6fb1091e527ea70a3e950d50a1db4)
1997-10-15added srvsvc basic pipe, straight from paul's code. does NETSHAREENUMLuke Leighton1-0/+3
and NETSERVERGETINFO. (This used to be commit 96b17b829fc787c15cd366eca604c09d68b5b900)
1997-10-14credentials, query info reply.Luke Leighton1-4/+3
(This used to be commit 9b095887df204393090d7da9a47508685ddd5163)
1997-10-12updated rpc header reply: callid wrong; alloc hint a uint32 not a uint16.Luke Leighton1-1/+1
still doesn't get rid of the netlogon trans2 request with zero data. (This used to be commit 0cf67955f09d99c452bfc3fdde00dcea98e21db1)
1997-10-10added lsa_reply_srv_pwset()Luke Leighton1-1/+1
(This used to be commit 0d043cfef289ee82287bb6014a164ba83ca87f30)
1997-10-10Makefile:Luke Leighton1-6/+37
added credentials.c to smbd credentials.c: using credential structures instead of char* password.c uid.c server.c: added sid and attr to user_struct. smbdes.c: smbhash and str_to_key make public instead of private. pipes.c smb.h: lsa structures, sub-functions. proto.h: usual. (This used to be commit 87a0a944855a673d693d934e446bdc231b1c7f02)
1997-10-10nmblookup.c: Added -A ability to do status on ip address.Jeremy Allison1-19/+34
smb.h: Added defines we will need for NT SMB calls. trans2.c: Fixed SMB_QUERY_FILE_ALT_NAME_INFO return - this is only for short name returns (and only used when you negotiate NT SMB calls to boot !). Jeremy (jallison@whistle.com) (This used to be commit 53915bd160eda8c099482ddcef74d1d7606e752b)
1997-10-09pipes.c:Luke Leighton1-0/+38
added api_ntlsarpcTNP() function. hooray! smb.h: added LSA #defines needed by above function. (This used to be commit 5437f666987918516032cf8a5dada107e5d14d25)
1997-10-09credentials.c:Luke Leighton1-5/+1
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-08loadparm.c proto.h:Luke Leighton1-1/+3
added lp_domainsid() lsaparse.c smb.h: debugging structures and parsing functions pipes.c: finally got to the functions that will go into the RPC switch statement. (This used to be commit d15aed8a9c58a7cc90befaee2d5a2752708f9327)
1997-10-07locking.c: Added fix for race condition in slow share mode code.Jeremy Allison1-15/+0
lsaparse.c: #ifdef'ed out code so this will compile - LUKE PLEASE CHECK THIS. pipes.c: #ifdef'ed out code so this will compile - LUKE PLEASE CHECK THIS. server.c: Fixed last known oplock race condition. smb.h: Re-removed USE_OPLOCK defines - someone checked in an old version. smbparse.c: #ifdef'ed out code so this will compile - LUKE PLEASE CHECK THIS. Jeremy (jallison@whistle.com) (This used to be commit 1e1366ddc5542283a37debdf830ca139bbade1b0)
1997-10-07pipes.c:Luke Leighton1-4/+5
more static unused functions in pipes.c for the LSA RPC stream. smb.h: corrections and altercations over the documentation lsaparse.c: reflecting alterations in LSA structures... (This used to be commit bef12478d212a950578843d6d4dece1f153bfd25)
1997-10-07pipes.c:Luke Leighton1-16/+31
some routines to create LSA RPC packets. none of them are used. lsaparse.c: smbparse.c: smb.h: more tidy-up. (This used to be commit b37e21273e81b875876e8e8ddf6804714044ffd8)
1997-10-06client.c: Changed shadowed variable.Jeremy Allison1-19/+5
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-06lsaparse.c smb.h: added 32 bit "return status" to the response structures.Luke Leighton1-0/+16
(This used to be commit 5bc75c6c626251dc8ba04ff4a83e81b92d93d2d6)
1997-10-06Makefile: added lsaparse.c and smbparse.cLuke Leighton1-2/+7
lsaparse.c, smbparse.c, smb.h: more functions / structures. proto.h: the usual. (This used to be commit a1c718728c46ebf8916af8985b4dae4d099f4ec2)
1997-10-05updating lsa and smb parsing routines and structures.Luke Leighton1-6/+17
(This used to be commit 2f722fe289051558dbe77aeb0a830bb3ded10a83)
1997-10-05smb.h:Luke Leighton1-4/+373
added more structures, this time for the use in the query and response of the LSA_XXXX functions. next target: the NTLOGON mailslots (10 minutes work). smbparse.c: tidying. adding some more sub-structure functions. (This used to be commit 095edfca783a6f99eb7897d4c925ce8bc1ea0a3e)
1997-10-04proto.h:Luke Leighton1-2/+6
- 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-04added structures readable and writeable by smbparse.c routines into and outLuke Leighton1-0/+182
of SMB or Mailslot packets. (This used to be commit 4b3f9b281b3b1c1064992d19fef1d782dc6f1ff1)
1997-10-03proto.h: Updated.Jeremy Allison1-5/+7
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-01OPLOCK CHECK-IN - oplocks are now *OPERATIONAL* !!!!Jeremy Allison1-2/+2
Yipeee. At least as far as I can check in a short time :-). local.h: Changed OPLOCK_BREAK_TIMEOUT to 30 seconds. locking.c: Big changes to delete oplocks on a share mode entry. proto.h: updated. reply.c: Added oplock break code in lockingX reply & readbraw reply. server.c: Add batch oplock code. Force server shutdown if client fails to respond to oplock break. smb.h: Fix silly slow share mode oplock define bug. status.c: Add oplock status info. Jeremy (jallison@whistle.com) (This used to be commit 4c83d37239f15f855fc10f01d7b4bf4217fb9eda)
1997-09-30dir.c: more pstrcpys.Jeremy Allison1-0/+41
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-26Syncing up current oplock work in progress. #ifdef'ed outJeremy Allison1-5/+45
so should have no effect on other work. Jeremy (jallison@whistle.com) (This used to be commit 7e3d4c8b21f63a06d32605d230129e36883ad08c)
1997-09-25Added missing slow share mode offset defines. SomehowJeremy Allison1-0/+34
they got lost. Jeremy (jallison@whistle.com). (This used to be commit ce9cdc2f6175e4a6195f8875360cd945ae60052c)
1997-09-25Makefile: Removed earlier errors.Jeremy Allison1-4/+12
includes.h: Added INADDR_LOOPBACK define. locking.c: More code to support oplocks. proto.h: Updated. server.c: More code to support oplocks. Moved processing of an SMB out of process() into a separate function so it is easier to call from an oplock break. smb.h: Added oplock fields. Jeremy (jallison@whistle.com) (This used to be commit f46dbaf08eb8e06a7545d2c19dce9e2dda9dcc78)
1997-09-23added code from Philip A Prindeville <philipp@enteka.com> which expandsLuke Leighton1-0/+3
the interfaces option to this: "interfaces = le0 le1" or "interfaces = all". it uses SIOCGIFxxxx ioctl calls. (This used to be commit 39071415ba6f8a00e2909e443261d0059fe27e82)