summaryrefslogtreecommitdiff
path: root/source3/smbd
AgeCommit message (Collapse)AuthorFilesLines
2008-09-05Write times code update.Jeremy Allison4-35/+82
Ok, here's the fix for the write times breakage with the new tests in S4 smbtorture. The key is keeping in the share mode struct the "old_file_time" as the real write time, set by all the write and allocation calls, and the "changed_write_time" as the "sticky" write time - set by the SET_FILE_TIME calls. We can set them independently (although I kept the optimization of not setting the "old_file_time" is a "changed_write_time" was already set, as we'll never see it. This allows us to update the write time immediately on the SMBwrite truncate case, SET_END_OF_FILE and SET_ALLOCATION_SIZE calls, whilst still have the 2 second delay on the "normal" SMBwrite, SMBwriteX calls. I think in a subsequent patch I'd like to change the name of these from "old_file_time" to "write_time" and "changed_write_time" to "sticky_write_time" to make this clearer. I think I also fixed a bug in Metze's original code in that once a write timestamp had been set from a "normal" SMBwriteX call the fsp->update_write_time_triggered variable was set and then never reset - thus meaning the write timestamp would never get updated again on subsequent SMBwriteX's. The new code checks the update_write_time_event event instead, and doesn't update is there's an event already scheduled. Metze especially, please check this over for your understanding. Jeremy. (This used to be commit 6f20585419046c4aca1f7d6c863cf79eb6ae53b0)
2008-09-01Slightly simplify logic: remove an else branchVolker Lendecke1-14/+11
(This used to be commit 56ecec50130aa948a431427285aed4b28a5647e8)
2008-09-01Fix Coverity ID 587Volker Lendecke1-1/+1
The following test program prints "8" on 64-bit :-) static void print_size(const char lenbuf[4]) { printf("sizeof(lenbuf) = %d\n", (int)sizeof(lenbuf)); } int main(void) { const char lenbuf[4]; print_size(lenbuf); return 0; } Jeremy, please check :-) Volker (This used to be commit 9daea0ccfdda58450be3c9a9a94c016f5900c319)
2008-08-27Add st_birthtime and friends for accurate create times on systems that ↵Jeremy Allison1-3/+4
support it (*BSD and MacOSX). Should have done this ages ago, sorry. Jeremy. (This used to be commit 4c3a9558906f213948c3bdc081be73f8fed148cb)
2008-08-26EINVAL is also a valid error return, meaning "this filesystemAndrew Tridgell1-2/+3
cannot do sendfile for this file" (This used to be commit 737f664604b28f230be63bfc2f3d516fd9eb1c63)
2008-08-26become root for AIO operationsAndrew Tridgell1-1/+7
We need to become root for AIO read and write to allow the AIO thread to send a completion signal to the parent process when the IO completes (This used to be commit c548e5c69f9d8bc85a654f4d29d64c735a5e780b)
2008-08-22Don't re-initialize a token when we already have one. This fixes the build ↵Jeremy Allison1-10/+13
farm failures when winbindd connects as guest. This one took a *lot* of tracking down :-). Jeremy. (This used to be commit dca827791276906436452c650062164eb819dfe0)
2008-08-20smbd: fix the handling of create_options to pass RAW-OPENStefan Metzmacher2-0/+17
Some of the bits generate INVALID_PARAMETER and some bits are ignored when they come from a client, that's why we need to use bits from the ignored range for our internal usage. metze (This used to be commit 7b4c8a4e39f310eb450918fa841b0ea1b4af19f7)
2008-08-14Fix for bug #5688 from SATOH Fumiyasu <fumiyas@osstech.co.jp>. LPQ process ↵Jeremy Allison1-1/+2
is orphaned if socket address parameter is invalid. If the "socket address" parameter is a null string that is an invalid value for Samba 3.2 but valid for Samba 3.0. Jeremy. (This used to be commit c65726d418601cdc86202c0371615e4f7f3d843c)
2008-08-14Fix for bug #5617, reported and patched by Bartosz Antosik antosik@gmail.com.Jeremy Allison1-0/+2
xp/2003 explorer freezes browsing shares on samba ipv6 hosts. Caused by missing reply packet to SMB printclose packet. Jeremy (This used to be commit ecf2b906f476e4a764d0e53eed84b9b75a2062c0)
2008-08-13smbd: prevent smbd from panicing with "clustering = no" but ↵Michael Adam1-1/+3
--with-cluster-support Michael (This used to be commit a687949d19ba9690f96e7869aa22e4d87840640e)
2008-08-13added a explanatory comment on tcon checkAndrew Tridgell1-0/+4
(This used to be commit f2ab2cebb9b81453dc0b6370288b85909182ae49)
2008-08-13ensure we exit with non-zero status on EOF on socket, so the parentAndrew Tridgell2-5/+13
can trigger a brlock db cleanup (This used to be commit bbd49f9e1c4b50c4a596fb991f3306e1e90c0177)
2008-08-13fixed child exit handling and IP release handlingAndrew Tridgell1-1/+3
(This used to be commit 6fe27d296c389473c24e8c627a61bd56b364ad9f)
2008-08-13log unclean shutdownsAndrew Tridgell1-0/+1
(This used to be commit 30b83245a22ebd5e4fa4739dd2aa1805373a7eb2)
2008-08-13register the ctdbd reconfigure messageAndrew Tridgell1-0/+4
(This used to be commit 9d3217bb28765e107c230fb90b578dcc6f5d4375)
2008-08-13first cut at adding full transactions for ctdb to samba3Andrew Tridgell1-7/+0
(This used to be commit f91a3e0f7b7737c1d0667cd961ea950e2b93e592)
2008-08-12Make sure to always set errno on error path in OpenDir (and hence ↵Michael Adam1-0/+1
scan_directory). Michael (This used to be commit 15fc2427f91da697e0e91f7f34b0f0c6e230a9a5)
2008-08-12Fix unix_convert() for "*" after changing map_nt_error_from_unix().Michael Adam1-1/+1
map_nt_error_from_unix() now assumes that it is called in an error path and returns an error even for a given errno == 0. The original behaviour of unix_convert() used the mapping of errno == 0 ==> NT_STATUS_OK to return success through an error path. I think this must have been an oversight, and unix_convert() worked only by coincidence (or because explicitly using the knowledge of the conceptually wrong working of map_nt_error_from_unix(). This patch puts this straight by not interpreting errno == 0 as an error condition and proceeding in that case. Jeremy - please check! Michael (This used to be commit ec5956ab0df1b3f567470b2481b73da9c3c67371)
2008-08-12I found lots of places where we assume error will be set when callingAndrew Tridgell1-2/+2
one of our virtualised functions, such as db_open(), but error is only set when a system call fails, and it is not uncommon for us to fail a function internally without ever making a system call. That led to us passing back success when a function had in fact failed. I found two places where we relied on map_nt_error_from_unix() returning success when errno==0, but lots and lots of places where we relied on the reverse, so I fixed those two places. map_nt_error_from_unix() will now always return an error, returning NT_STATUS_UNSUCCESSFUL if errno is 0 (cherry picked from commit 69d40ca4c1af925d4b0e59ddc69ef8c26e6501d1) (This used to be commit 834684a524a24bb4eb46b4af583d39947dc87d95)
2008-08-10fix smb_len calculation for chained requestsVolker Lendecke1-3/+5
I think chain_reply() is one of the most tricky parts of Samba. This recursion needs to go away, we need to sequentially walk the chain list. (This used to be commit af2b01d85188d2301580643f7e862e3e3988aadc)
2008-08-10Fix andx offset calculation for more than 2 chained requestsVolker Lendecke1-1/+7
Untested code is broken code.... Test follows later, it's quite an intrusive change to libsmb/ (This used to be commit 0ff16e8573f3c312f10fc723648319fa1f514ac0)
2008-07-27Fix a debug messageVolker Lendecke1-1/+1
(This used to be commit 1970eed1b79a5d9dc45eb96098d653ad62a20871)
2008-07-27Remove a pointless CONST_DISCARDVolker Lendecke1-1/+1
(This used to be commit c63cb78b4c8a283c0eebe37ff2f60ddbfbfaac4a)
2008-07-27Make create_conn_struct() publicVolker Lendecke1-1/+1
(This used to be commit e115e2582256c34e6905afc8c2929efd6ea61088)
2008-07-25Fix bug creating files using DOS clients with mixedJeremy Allison1-1/+1
case files. Reported by Daniel Johnson <Progman2000@usa.net>. The smb_set_file_time() call to set the filetimes is failing because it's using the unmodified name passed in by the client, not the modified name (matching case on the disk) that comes out from create_file(). Jeremy. (This used to be commit 1706a33e78347d14a8b09fd21b87d57bad543bcd)
2008-07-24If we're not allowing streams on this conn ptr,Jeremy Allison1-0/+5
then don't allow create_file() to call down to create_file_unixpath() with a stream name. Jeremy. (This used to be commit 167d611b525db6d103a7f83fd5a19792be4e7745)
2008-07-22Fix various build warningsZach Loafman1-1/+2
This fixes various build warnings on our platform. I'm sure I haven't caught them all, but it's a start. (This used to be commit 6b73f259cb67d9dda9127907d706f9244a871fa3)
2008-07-20Refactoring: Change calling conventions for cli_rpc_pipe_open_noauthVolker Lendecke1-2/+3
Pass in ndr_syntax_id instead of pipe_idx, return NTSTATUS (This used to be commit 9abc9dc4dc13bd3e42f98eff64eacf24b51f5779)
2008-07-19Introduce is_known_pipenameVolker Lendecke2-46/+2
This scans the list of pipes registered via rpc_pipe_register_commands instead of using static tables. (This used to be commit 283e6039989adea1c8921b3600b410cb67b6492a)
2008-07-03Patch from SATOH Fumiyasu <fumiyas@osstech.co.jp> for bug #5202. Re-activate ↵Jeremy Allison1-14/+26
"acl group control" parameter and make it only apply to owning group. Also added man page fix. Jeremy. (This used to be commit e98e080bad2c8b9f038a8f2dffcfeba1d5f392ce)
2008-07-01Two more fixes from Jim Brown <jim.brown@miami.edu> for SGI compiler warnings.Jeremy Allison1-1/+1
Jeremy. (This used to be commit d85cbdbe296ec6de5bdbd66a90ca41345f55c837)
2008-06-28Let send_trans_reply work on only the inbufVolker Lendecke2-53/+56
It does not really need the whole smb_request (This used to be commit d3facf4cbdb2915168e91d64c2d8320f67524df8)
2008-06-28Factor out create_outbuf, creating an outbuf just given an inbufVolker Lendecke1-9/+20
(This used to be commit 50427cbf6345d3f671e9ea321089c4b4244df972)
2008-06-26Fix a debug messageVolker Lendecke1-1/+1
(This used to be commit 8dd94d448bc5ad067024c56c6ef498bc88a396b2)
2008-06-26Remove current_user reference from printfsp.cVolker Lendecke2-2/+2
(This used to be commit 510f45d01a19ce1c226755ac42a328241098b2e0)
2008-06-26remove unused extern current_user from lanman.cVolker Lendecke1-2/+0
(This used to be commit e2009c0b8dc229faf98ce189d2a906e58d3e1e63)
2008-06-26Change print_access_check to take auth_serversupplied_info instead of ↵Volker Lendecke1-6/+12
current_user Reason: This is the main user of p->current_user which I would like to remove (This used to be commit fd43059b3dfa8cdac9814de1c76f963ba5de9bcb)
2008-06-26smbd: untangle logic in smbd_messaging_context() slightly.Michael Adam1-2/+5
Michael (This used to be commit fae4c21b14b9d288e06f6b4b4e1527e2c6d58dca)
2008-06-26smbd: don't panic if messaging_init() fails but return NULLMichael Adam1-1/+1
leaving panic or more appropriate action to callers. This can for instance happen in a clustered setup, when ctdb is not running. This allows for a more defined behaviour, reducing chicken-egg-problems. Michael (This used to be commit 3b6541ff483d5fea4fd30bb6a01a560c05028d4e)
2008-06-24Move the responsibility to keep the cwd from srv_dfs_nt to msdfs.cVolker Lendecke1-17/+53
(This used to be commit 7db382588ac90fe250b72cf4cd07afb39fcae7c0)
2008-06-22Remove the "exists" parameter from create_msdfs_linkVolker Lendecke1-11/+11
Jeremy, setting "exists" to True in _dfs_Add prevented the initial creation of a new symlink for me, because the SMB_VFS_UNLINK failed. This also exists in 3.2. I only check it into 3.3 as I would like you to look at it first. Thanks, Volker (This used to be commit f58b098a4172949018e84c4d0c722d6eb9bba514)
2008-06-22Reduce memory usage in form_junctions() a little bitVolker Lendecke1-0/+1
(This used to be commit d031e6d8cabe2dd0b29e90d173d45843e145176a)
2008-06-22Fix an abort in junction_to_local_pathVolker Lendecke1-1/+1
(This used to be commit 587bd636cb70d09600111ced040adaa55af35d0f)
2008-06-22Fix a crash in _dfs_EnumVolker Lendecke1-0/+2
(cherry picked from commit 4a996476297963d4cb300b4d45c23e83a493c339) (This used to be commit 86cae83a7db87063ecd6e58eaa15f11441c45040)
2008-06-22Fix an uninitialized variable access in callers of parse_msdfs_symlinkVolker Lendecke1-1/+2
At least form_junctions() does not initialize refcount, and I don't see it in get_referred_path(). For the latters, the callers might initialize it. But even if they did, I think parse_msdfs_symlink() should unconditionally return the number of referrals it found. I don't think it makes sense to count them up from somewhere else. (This used to be commit 73172113484a2c6c9af014f59e84707716c61a7d)
2008-06-21Fix a double-closedir() in form_junctions()Volker Lendecke1-1/+0
(This used to be commit 1d7ad0dea7ebf7a46af6e695797e5132264307d6)
2008-06-19Remove current_user references from nttrans.cVolker Lendecke1-3/+2
(This used to be commit 5f8a5e68ea166fbeda3af6e5ec381ec09d06f0f6)
2008-06-19Remove current_user references from trans2.cVolker Lendecke3-4/+35
This involved replacing the CHECK_NTQUOTA_HANDLE_OK macro by a function. (This used to be commit 5595cdf837edb82db69a3e57bcf3108be7feeeb8)
2008-06-19Remove some current_user references from trans2.cVolker Lendecke1-19/+25
(This used to be commit 4c31cc0b62f532eafdc44398b29b773ad8cb0646)