summaryrefslogtreecommitdiff
path: root/source3/smbd/trans2.c
AgeCommit message (Collapse)AuthorFilesLines
2001-09-05Removed unneeded set of delete on close in fsp->share_mode.Jeremy Allison1-7/+0
Jeremy. (This used to be commit 7816f79075132350c910f75f9b757477a319bbae)
2001-09-05when you update the share mode in the db you must also updateAndrew Tridgell1-0/+7
fsp->share_mode otherwise the check to see if the fsp share mode matches the one in the db will fail when you come to delete it, thus leaving us with a share mode on a file that isn't even open! (This used to be commit 2020738b889d8d508cf787e5c5d380af817b92f9)
2001-08-27converted smbd to use NTSTATUS by defaultAndrew Tridgell1-54/+50
major changes include: - added NSTATUS type - added automatic mapping between dos and nt error codes - changed all ERROR() calls to ERROR_DOS() and many to ERROR_NT() these calls auto-translate to the client error code system - got rid of the cached error code and the writebmpx code We eventually will need to also: - get rid of BOOL, so we don't lose error info - replace all ERROR_DOS() calls with ERROR_NT() calls but that is too much for one night (This used to be commit 83d9896c1ea8be796192b51a4678c2a3b87f7518)
2001-08-24fixed level2 find first for unisys clientsAndrew Tridgell1-0/+1
(This used to be commit cb8b21f71dbacc7ee658bef7011cd147fbe34101)
2001-08-23Fix W2K profiles writing to a Samba PDC. Thanks to Microsoft for their help !Jeremy Allison1-15/+6
Jeremy. (This used to be commit faae7512e059456db2450f878c435fd402839146)
2001-08-10More constant conversions.Tim Potter1-2/+2
(This used to be commit 00703d306f14a5977df75cb04ee34ae8628ed40e)
2001-08-09Fixed wrong placement of allocate code :-(.Jeremy Allison1-5/+5
Changed alignment offset to 1 to allow netmon to parse ok. Jeremy. (This used to be commit fd89261a2c74910bd1cf8271d862a7b050b49f32)
2001-08-07Added fixes to return correct error codes on space allocation fail.Jeremy Allison1-1/+1
Jeremy. (This used to be commit 3bf2419f4b7a9d46a1d48062212a6a6579c22b92)
2001-08-01Added "strict allocate" per share parameter. This causes actual on-disk ↵Jeremy Allison1-10/+44
allocation to be done. Without it just does the ftruncate. Jeremy. (This used to be commit 0b052f103e82369088bc30724b86d8892c395cdb)
2001-07-28Fix for potential crash bug with bad fid.Jeremy Allison1-1/+13
Jeremy. (This used to be commit 82f81c830db53ce507c2a8e65db962f931141afd)
2001-07-07fixed some unicode and LANMAN2 bugs in trans2 find first/nextAndrew Tridgell1-39/+3
(This used to be commit d5097b2f20c55ddcf4ae8da4d1d0a2fe91938a6b)
2001-07-04strchr and strrchr are macros when compiling with optimisation in gcc, so we ↵Andrew Tridgell1-3/+3
can't redefine them. damn. (This used to be commit c41fc06376d1a2b83690612304e85010b5e5f3cf)
2001-07-04The big character set handling changeover!Andrew Tridgell1-30/+22
This commit gets rid of all our old codepage handling and replaces it with iconv. All internal strings in Samba are now in "unix" charset, which may be multi-byte. See internals.doc and my posting to samba-technical for a more complete explanation. (This used to be commit debb471267960e56005a741817ebd227ecfc512a)
2001-07-04Ensure we correctly round down to 2 second boundary if dos filetimeJeremy Allison1-7/+24
set for a share. Jeremy. (This used to be commit 8f57233c0f871763bc3657d754c894dbd29ae501)
2001-06-19Set support for info levels...Jeremy Allison1-20/+14
Jeremy. (This used to be commit e033f758914f6631545af17041b4e49c1ff885d9)
2001-06-18Best-effort so far implementation of new W2K info levels.Jeremy Allison1-0/+148
An-embrace-and-extending we will go... Jeremy. (This used to be commit 43bf9b2c7aad15d65bac3a9c4f799be050a074cd)
2001-06-09*Wonderful* patch from Andrew Bartlett that will help ensure tdb's areJeremy Allison1-3/+6
cleaned on clients abending connections. Thanks Andrew ! Jeremy. (This used to be commit 1b3977c5367a0b713b194f369abd9872ae01ac2a)
2001-06-08Correctly make max pathlength 255.Jeremy Allison1-1/+1
Jeremy. (This used to be commit 30cffea8fa813a7448648b496a19e751441e436e)
2001-03-30This is a big, rather ugly patch. Whilst investigating the files not truncatedJeremy Allison1-134/+84
when copying to a full disk problem, I discovered that we were not allowing the delete on close flag to be set properly, this led to other things, and after investigation of the proper delete on close semantics and their relationship to the file_share_delete flag I discovered there were some cases where we weren't doing the deny modes properly. And this after only 5 years working on them..... :-) :-). So here's the latest attempt. I realised the delete on close flag needs to be set across all smbds with a dev/ino pair open - in addition, the delete on close flag, allow share delete and delete access requested all need to be stored in the share mode tdb. The "delete_on_close" entry in the fsp struct is now redundant and should really be removed. This may also mean we can get rid of the "iterate_fsp" calls that I didn't like adding in the first place. Whilst doing this patch, I also discovered we needed to do the se_map_generic() call for file opens and POSIX ACL mapping, so I added that also. This code, although ugly, now passes the deny mode torture tests plus the delete on close tests I added. I do need to add one more multiple connection delete on close test to make sure I got the semantics exactly right, plus we should also (as Andrew suggested) move to random testing here. The good news is that NT should now correctly delete the file on disk full error when copying to a disk :-). Jeremy. (This used to be commit 51987684bd231c744da2e5f3705fd236d5616173)
2001-03-28Insure fix. Don't read 4 bytes from data area unless there are 4 bytes to read.Jeremy Allison1-1/+1
Jeremy. (This used to be commit 3f9cf2e07bb6d429858e47ab6989ea8cf30d0217)
2001-03-23Made the fixes Andrew suggested to asci string code to use srvstr_push.Jeremy Allison1-2/+2
Jeremy. (This used to be commit 1391aa6a6fbe8391a4421f5770da40556f011bb8)
2001-03-23Two OS/2 printer fixes from Jim McDonough @ IBM.Jeremy Allison1-5/+62
First one adds a new info level into the lanman printing and an ioctl to the trans2 code. Andrew - this uses ASCII only. It looks ok to me but please check ! Second one adds a parameter "os2 driver map" that allows OS/2 driver names to be mapped. Jeremy. (This used to be commit da79b519e0b6b4317d7fb5260d74e0e74a7e0b46)
2001-03-16don't need to force unicode strings in flg2 anymoreAndrew Tridgell1-4/+3
(This used to be commit 899ca6e832c72ea68b0ac76205d18a80c87b34d9)
2001-03-16finished the conversion to unicode of the last of the trans2 fnsAndrew Tridgell1-18/+6
(This used to be commit 1d145a37860f7256a081c893e3640f5e18943518)
2001-03-14converted a bunch more trans2 calls for unicode. This got quite tricky :(Andrew Tridgell1-179/+145
(This used to be commit ddee55087756db2a2ac0ee92471d9fea53f38bee)
2001-03-13simpler and more correct srvstr_push()Andrew Tridgell1-9/+9
it now uses outbuf not inbuf for the unicode flag, which allows for some server fns to be ascii and means one less parameter in push calls (This used to be commit a6dd6662267eeddf368ff0ffba76b45761bf4eeb)
2001-03-13converted findnext to unicodeAndrew Tridgell1-1/+1
(This used to be commit 84fc5a7795fe6e3b993649ecc05f6685f8295c02)
2001-03-13this patch does a number of things:Andrew Tridgell1-59/+94
- removes SMB_ALIGNMENT. That macro caused all sorts of problems with getting unicode aligned right in sub-protocols (such as SMBtrans and SMBtrans2). I believe the performance reasons for having SMB_ALIGNMENT has gone away with the new variants of the SMB protocol anyway, as newer commands tend to have their own internal alignment. - fix the locations where we set smb_flg2 to absolute values. We must never do this if we want a hope of coping with unicode. - add initial support for unicode on the wire in smbd. Currently enabled using SMBD_USE_UNICODE environment variable. (This used to be commit b98b1435e9d8f8622444c9ff33082977e661f16b)
2001-03-11Merge of new 2.2 code into HEAD (Gerald I hate you :-) :-). Allows new SAMRJeremy Allison1-4/+0
RPC code to merge with new passdb code. Currently rpcclient doesn't compile. I'm working on it... Jeremy. (This used to be commit 0be41d5158ea4e645e93e8cd30617c038416e549)
2001-02-22Fixed file descriptor leak in error processing of print jobs.Jeremy Allison1-3/+17
NT sends "delete on close" to cancel a print job copied from the command line. Deal with this. Merged JohnR's fixes for print job errors. Jeremy. (This used to be commit 2060d74e48d62c99a1689ee02ac435b71918ddf0)
2001-02-08reverted *.* patch until someone explains to me what the test case isAndrew Tridgell1-5/+0
that requires this. i _know_ that this isn't the right solution and it breaks things, which is why I am reverting now. (This used to be commit c2a82a33da1b717b16fb71e597587c806bcf68b3)
2001-02-08merge from SAMBA_2_2Gerald Carter1-2/+8
(This used to be commit 9347121ce6888afeae3cdf256b5f0c5b9c58b0bc)
2001-01-23Fix from Kenichi Okuyama for memory leak on Realloc fail.Jeremy Allison1-21/+51
Jeremy. (This used to be commit 6e568332254cf60d6a1f411df960ac2ec5f4bf8e)
2000-12-11Fix for short names not being returned correctly with non-mangled shares.Jeremy Allison1-1/+2
Jeremy. (This used to be commit bcf0a5c316ee8cf333d9d838b041e44a11cb5f1b)
2000-11-16Ok - fixed a bug in our levelII oplock code. We need to break a level II onJeremy Allison1-8/+23
a byte range lock (write lock only, but Win2k breaks on read lock also so I do the same) - if you think about why, this is obvious. Also fixed our client code to do level II oplocks, if requested, and fixed the code where we would assume the client wanted level II if it advertised itself as being level II capable - it may not want that. Jeremy. (This used to be commit 213cd0b5192307cd4b0026cae94b2f52fb1b0c02)
2000-10-19Ok - this is a big patch - and it may break smbd a bit (althoughJeremy Allison1-31/+27
I hope not). If you encounter strange file-serving behavior after this patch then back it out. I analysed our stat() usage and realised we were doing approx. 3 stat calls per open, and 2 per getattr/setattr. This patch should fix all that. It causes the stat struct returned from unix_convert() (which now *must* be passed a valid SMB_STRUCT_STAT pointer) to be passed through into the open code. This should prevent the multiple stats that were being done so as not to violate layer encapsulation in the API's. Herb - if you could run a NetBench test with this code and do a padc/par syscall test and also run with the current 2.2.0 code and test the padc/par syscalls I'd appreciate it - you should find the number of stat calls reduced - not sure by how much. The patch depends on unix_convert() actually finding the file and returning a stat struct, or returning a zero'd out stat struct if the file didn't exist. I believe we can guarentee this to be the case - I just wasn't confident enough to make this an assertion before. Ok ok - I did write this whilst at the Miami conference..... sometimes you get a little free time at these things :-). Jeremy. (This used to be commit 66a5c05ec46b641224fbe01b30bd7e83571a2a1b)
2000-10-11changes to sync with 2.2. treeHerb Lewis1-5/+42
.cvsignore remove config.h - not in this directory include/profile.h profile changes lib/messages.c added message to return debug level libsmb/clierror.c cast to get rid of compiler warning libsmb/smbencrypt.c cast to get rid of compiler warning profile/profile.c add flush profile stats changes for profile struct rpc_parse/parse_samr.c fix for compiler warning rpc_server/srv_samr.c cast to get rid of compiler warning smbd/ipc.c profile stats message.c profile stats smbd/negprot.c profile stats smbd/nttrans.c profile stats smbd/trans2.c profile stats utils/smbcontrol.c new flush stats command (This used to be commit bbb24daa25dca4e4b6b1f8942cd84ee3aa1bed8e)
2000-10-06Restructuring of vfs layer to include a "this" pointer - can be an fsp orJeremy Allison1-14/+14
a conn struct depending on the call. We need this to have a clean NT ACL call interface. This will break any existing VFS libraries (that's why this is pre-release code). Andrew gets credit for this one :-) :-). In addition - added Herb's WITH_PROFILE changes - Herb - please examine the changes I've made to the smbd/reply.c code you added. The original code was very ugly and I have replaced it with a START_PROFILE(x)/END_PROFILE(x) pair using the preprocessor. Please check this compiles ok with the --with-profile switch. Jeremy. (This used to be commit b07611f8159b0b3f42e7e02611be9f4d56de96f5)
2000-10-03Fixes for the fact that UNICODE sizes are no always 2*no of chars whenJeremy Allison1-8/+9
in multibyte codepages. Fix from Hiroshi MIURA, Samba User Group Japan staff. Jeremy. (This used to be commit f2f373df67a3c6b0bd431c19e3494d45ef0a263c)
2000-10-03utf-8 and EUC3 patch from Hiroshi Miura Samba User Group Japan staff.Jeremy Allison1-2/+1
mkdir high bits patch from Robert Dahlem" <Robert.Dahlem@gmx.net>. jeremy. (This used to be commit b40191d27180ab1e59935086073c4d312552f717)
2000-05-26Changed MS_DFS to WITH_MSDFS throughout.Shirish Kalele1-2/+3
Fixed trans2 calls on IPC$ to let dfs referral calls through. (This used to be commit e0965a80bdca5239886b11ef55dc29fed261bfc0)
2000-05-23Did a proper fix for the file access on IPC$. Denied all pipe opens onJeremy Allison1-0/+4
trans2 open calls as we don't have the pipe open response coded up yet. Jeremy. (This used to be commit 8142e27c9c32aba5a7dabc48a676b93cf680151b)
2000-05-23Fixed bug where file access was allowed on IPC$ share.Jeremy Allison1-0/+3
Return correct error codes on invalid share name. Jeremy. (This used to be commit 420d6bc4809cef9d74354175d0fa956ab4e8ac3c)
2000-05-16The new msdfs implementation that uses symlinks to point to otherShirish Kalele1-2/+13
servers. Very intuitive. Removed the dfs map parsing code and tdb maintenance code (files msdfs/parse_dfs_map.c & msdfs/msdfs_tdb.c), dfs map loading and unloading calls (param/loadparm.c smbd/server.c). Added code to display msdfs format symlinks as directories in a transact2_findfirst/findnext. (smbd/trans2.c) Modified msdfs/msdfs.c to use the msdfs symlinks to create dfs referrals. Changed msdfs/README to reflect new operability. (This used to be commit 6803d2574fab9e5931786d5c9aa5dc5867bb5f05)
2000-05-10lib/util_unistr.c:Jeremy Allison1-1/+1
libsmb/clilist.c: rpc_server/srv_spoolss_nt.c: smbd/trans2.c: Changed unistr_to_ascii to unistr_to_dos - do codepage conversion. msdfs/msdfs.c: Removed stub unistr_to_dos. libsmb/pwd_cache.c: Removed obfuscation functions as they don't do anything and don't add any security. Jeremy. (This used to be commit 1ed146467e764e6a81d8f78cd58fb5765ebf5d21)
2000-05-10more merging voodooAndrew Tridgell1-0/+4
this adds "#define OLD_NTDOMAIN 1" in lots of places. Don't panic - this isn't permanent, it should go after another few merge steps have been done (This used to be commit 92109d7b3c06f240452d39f669ecb8c9c86ab610)
2000-04-30go back to ascii in SMB_FIND_FILE_BOTH_DIRECTORY_INFOAndrew Tridgell1-10/+4
NT gives out unicode, but NT clients can't handle a unicode response! (This used to be commit 85d634974f4f8841bf68cd2b22d134fbc010b568)
2000-04-30- removed all our old wildcard matching code and replaced it with aAndrew Tridgell1-38/+29
call to ms_fnmatch(). This also removes all the Win9X semantics stuff and a bunch of other associated cruft. - moved the stat cache code into statcache.c - fixed the uint16 alignment requirements of ascii_to_unistr() and unistr_to_ascii() - trans2 SMB_FIND_FILE_BOTH_DIRECTORY_INFO returns the short name as unicode always (at least thats what NT4 does) - fixed some errors in the in-memory tdb code. Still ugly, but doesn't crash as much (This used to be commit 03e9cea004bbba72161a5323cf3b4556c94aed8e)
2000-04-25moved trans2.h and nterr.h into includes.h with all our other includesAndrew Tridgell1-1/+0
(This used to be commit d7cd7c88fdabb01d9e40ae8a657737907a21ac37)
2000-04-24Now that fsp's are created on successful file open, the structure memberJeremy Allison1-2/+2
fsp->open is no longer needed (if an fsp pointer is valid, then it's open :-). NB for Luke, this patch also did not apply to TNG. TNG is not yet identical w.r.t file serving with HEAD. This makes it impossible for me to help maintain TNG. Please fix asap. lib/substitute.c: Removed unused variable (pidstr). Jeremy. (This used to be commit 389b700a26e8a308a0dff6fc038c38068aa0119a)