summaryrefslogtreecommitdiff
path: root/source4/smb_server
AgeCommit message (Collapse)AuthorFilesLines
2010-04-14s4:auth Change auth_generate_session_info to take an auth contextAndrew Bartlett1-18/+61
The auth context was in the past only for NTLM authentication, but we need a SAM, an event context and and loadparm context for calculating the local groups too, so re-use that infrustructure we already have in place. However, to avoid problems where we may not have an auth_context (in torture tests, for example), allow a simpler 'session_info' to be generated, by passing this via an indirection in gensec and an generate_session_info() function pointer in the struct auth_context. In the smb_server (for old-style session setups) we need to change the async context to a new 'struct sesssetup_context'. This allows us to use the auth_context in processing the authentication reply . Andrew Bartlett
2010-04-06s4-waf: move to a universal method of recursing into subdirsAndrew Tridgell1-2/+2
This works with both standalone lib builds and bundled builds
2010-04-06s4-waf: removed the AUTOGENERATED markersAndrew Tridgell3-12/+0
we won't be using the mk -> wscript generator again
2010-04-06s4-waf: mark the wscript files as python so vim/emacs knows how to highlight ↵Andrew Tridgell3-0/+6
them
2010-04-06build: waf quicktest nearly worksAndrew Tridgell1-1/+1
Rewrote wafsamba using a new dependency handling system, and started adding the waf test code
2010-04-06build: commit all the waf build files in the treeAndrew Tridgell3-0/+49
2010-03-05s4-pvfs: move the private ntcreatex flags to private_flagsAndrew Tridgell2-6/+2
Re-using two of the create_options bits was bound to eventually cause problems, and indeed, Windows7 now uses one of those bits when opening text files. Fixes bug 7189
2010-02-02Change uint_t to unsigned int in source4Matt Kraai6-24/+24
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2009-12-24s4:auth: change auth_check_password_send/recv to tevent_reqStefan Metzmacher1-13/+26
metze
2009-12-24s4:gensec: change gensec_update_send/recv to tevent_reqStefan Metzmacher2-10/+27
metze
2009-12-24s4:smb_server: fix mixing socket_address and tsocket_addressStefan Metzmacher1-6/+9
metze
2009-12-22s4:auth Change 'get_challenge' API to be more like Samba3Andrew Bartlett1-4/+1
It is just easier to fill in the known to be 8 byte challenge than stuff about with allocated pointers. Andrew Bartlett
2009-12-10s4-server: use GUID_to_ndr_blob() in cldap and smb serversAndrew Tridgell2-9/+6
2009-12-10s4-smb2: use new GUID function in smb2 negprotAndrew Tridgell1-3/+2
2009-11-27s4:smb_server/smb2: don't reset highest_smb2_seqnum on SMB2 CancelStefan Metzmacher1-2/+4
metze
2009-11-27s4-smb2: sequence numbers are not checked in SMB2_OP_CANCELAndrew Tridgell1-1/+2
2009-11-25s4/libcli: rename previously reserved field in SMB2 LOCK structSteven Danneman1-1/+1
The lock.in.reserved field has been renamed lock_sequence in the SMB 2.1 dialect. See MS-SMB 2.2.26.
2009-10-25s4-samdb: reduce the number of samdb opens at startupAndrew Tridgell1-14/+0
Using common parameters means that the ldb_wrap code can return a reference rather than a new database
2009-10-17s4-smbserver: removed bogus initialisation of two union armsAndrew Tridgell2-2/+0
Thanks to Metze for spotting this.
2009-10-15s4-smb: fill in fnum as well for root_fidAndrew Tridgell2-1/+3
This helps with the CIFS NTVFS backend, but doesn't solve all problems
2009-10-15s4-smbserver: fixed root_fid in nttrans createAndrew Tridgell1-1/+1
2009-10-15s4-smb: declare root_fid as a file handleAndrew Tridgell2-2/+2
In order to implement root_fid in the s4 SMB server we need to declare it as a handle type, just as for other fnum values in SMB. This required some extensive (but simple) changes in many bits of code.
2009-09-19s4-smbd: minimise includes in smbd/ and smb_serverAndrew Tridgell19-37/+0
2009-09-18s4-server: kill main daemon if a task fails to initialiseAndrew Tridgell2-2/+2
When one of our core tasks fails to initialise it can now ask for the server as a whole to die, rather than limping along in a degraded state.
2009-08-05changed BCC handling for SMBwriteX to handle broken MacOSX clientAndrew Tridgell1-13/+8
see bug #6610 The MacOSX SMB client sets the BCC value in SMBwriteX calls to zero instead of the correct size. Checking against WindowsXP, I've found that Windows uses the maximum of the computed buffer size and the given BCC value. I've changed Samba4 to do the same to allow MacOSX to work. I've limited this change to non-chained packets to ensure we don't get the possibility of exploits based on overlapping chained requests
2009-08-05on buffer overflow windows gives SMBSRV:ERRerror hereAndrew Tridgell1-1/+1
2009-08-04fixed support for readx greater than 64kAndrew Tridgell1-1/+2
This fixes bug 6547, where smbclient in S3 reads more than 64k at a time with readx.
2009-07-01use the new talloc_reparent in two placesAndrew Tridgell1-1/+1
2009-06-09s4:smb2srv: don't allow the related flag on the first request in a ↵Stefan Metzmacher1-0/+7
compounded chain metze
2009-06-09s4:smb2srv: correctly fail remaining compounded requests after a failureStefan Metzmacher2-5/+18
metze
2009-06-09s4:smb2srv: remove old TODO comment, we already check the seqnumStefan Metzmacher1-2/+0
metze
2009-06-09s4:smb2srv: fix handling of multiple compounded requestsStefan Metzmacher1-7/+12
metze
2009-06-09s4:smb2srv: remove the chained file handle on closeStefan Metzmacher1-0/+4
metze
2009-05-26s4:smb2srv: We only support SMB 2.002.Stefan Metzmacher2-6/+12
We need to loop over all given dialects and check if we can find SMB2_DIALECT_REVISION_202. metze
2009-05-20Have ntvfs_connect() accept union smb_tcon *tcon instead of char* sharenameSam Liddicott3-30/+11
This change brings ntvfs_connect into compliance with other ntvfs functions which take an ntvfs module, an ntvfs request and an smb io union. It now becomes the responsibility of ntvfs modules to examine tcon->generic.level themselves and derive the share name and any other options directly; e.g. const char *sharename; switch (tcon->generic.level) { case RAW_TCON_TCON: sharename = tcon->tcon.in.service; break; case RAW_TCON_TCONX: sharename = tcon->tconx.in.path; break; case RAW_TCON_SMB2: default: return NT_STATUS_INVALID_LEVEL; } if (strncmp(sharename, "\\\\", 2) == 0) { char *p = strchr(sharename+2, '\\'); if (p) { sharename = p + 1; } } service.c smbsrv_tcon_backend() is called before ntvfs_connect and fills in some of the tcon->..out values. For the case of RAW_TCON_TCONX, it filles out tcon->tconx.out.tid and tcon->tconx.out.options For the case of RAW_TCON_TCON it fills out tcon->tcon.out.tid and tcon->tcon.out.max_xmit Thus the ntvfs_connect function for vfs modules may override these values if desired, but are not required to. ntvfs_connect functions are required to fill in the tcon->tconx.out.*_type fields, for RAW_TCON_TCONX, perhaps something like: if (tcon->generic.level == RAW_TCON_TCONX) { tcon->tconx.out.fs_type = ntvfs->ctx->fs_type; tcon->tconx.out.dev_type = ntvfs->ctx->dev_type; } Signed-off-by: Sam Liddicott <sam@liddicott.com> (I fixed the ntvfs_connect() in the smb_server/smb2/ and the RAW_TCON_SMB2 switch case in the modules) Signed-off-by: Stefan Metzmacher <metze@samba.org>
2009-05-20s4:smb_server: initialy read the first 4 bytes onlySam Liddicott1-0/+1
Stop packet_recv getting greedy and reading the whole socket and then dispatching te extra packets in a timer loop Signed-off-by: Sam Liddicott <sam@liddicott.com> Signed-off-by: Stefan Metzmacher <metze@samba.org>
2009-05-11s4:smb_server: return after we have processed an invalid smb2 requestStefan Metzmacher1-0/+2
metze
2009-04-23Add async support for reply_tcon* and ntvfs_connectSam Liddicott2-70/+105
smbsrv_tcon_backend no longer creates the ntvfs_request wrapper, so smbsrv_reply_tcon* can now do this and then invoke ntvfs_connect in the typical manner using SMBSRV_SETUP_NTVFS_REQUEST and SMBSRV_CALL_NTVFS_BACKEND Previously smbsrv_tcon_backend has been responsible for instantiating the ntvfs_module_context to service a tree-connect request, and then create an ntvfs_request wrapper around the smbsrv_request and pass this to ntvfs_connect for the newly created ntvfs. These actions could not be invoked asynchronously. This meant that any client requests made while instantiating the ntvfs module, including any composite's used during authentication (or related client connections for the case of proxy modules) would block other ntvfs modules and requests in the current process as they executed a nested event loop to await completion. Signed-off-by: Sam Liddicott <sam@liddicott.com> Signed-off-by: Stefan Metzmacher <metze@samba.org>
2009-03-01s4: Use same function signature for convert_* as s3.Jelmer Vernooij1-6/+6
2009-03-01Add allow_badcharcnv argument to all conversion function, forJelmer Vernooij1-2/+2
consistency with Samba 3.
2009-02-13Remove auth/ntlm as a dependency of GENSEC by means of function pointers.Andrew Bartlett6-48/+49
When starting GENSEC on the server, the auth subsystem context must be passed in, which now includes function pointers to the key elements. This should (when the other dependencies are fixed up) allow GENSEC to exist as a client or server library without bundling in too much of our server code. Andrew Bartlett
2009-02-02s4:service_stream: s/private/private_dataStefan Metzmacher1-3/+3
metze
2009-02-02s4:smb_server: s/private/private_dataStefan Metzmacher6-14/+14
metze
2009-02-01s4:irpc: avoid c++ reserved word 'private'Stefan Metzmacher1-2/+4
metze
2009-01-30Fix the mess with ldb includes.Simo Sorce1-1/+0
Separate again the public from the private headers. Add a new header specific for modules. Also add service function for modules as now ldb_context and ldb_module are opaque structures for them.
2008-12-29s4:lib/tevent: rename structsStefan Metzmacher3-4/+4
list="" list="$list event_context:tevent_context" list="$list fd_event:tevent_fd" list="$list timed_event:tevent_timer" for s in $list; do o=`echo $s | cut -d ':' -f1` n=`echo $s | cut -d ':' -f2` r=`git grep "struct $o" |cut -d ':' -f1 |sort -u` files=`echo "$r" | grep -v source3 | grep -v nsswitch | grep -v packaging4` for f in $files; do cat $f | sed -e "s/struct $o/struct $n/g" > $f.tmp mv $f.tmp $f done done metze
2008-12-22Fix two remaining missing symbols in smbtorture4.Jelmer Vernooij1-0/+1
2008-12-22Fix missing symbols issues when building with shared libraries.Jelmer Vernooij1-1/+1
2008-12-22s4: Fix subsystem for various services in samba daemon.Jelmer Vernooij1-1/+1
2008-12-17s4: fix LIBEVENTS dependencies and use more forward declarationsStefan Metzmacher1-1/+2
We should only include events.h where we really need it and prefer forward declarations of 'struct event_context' metze