summaryrefslogtreecommitdiffstats
path: root/source3/include/smb.h
Commit message (Collapse)AuthorAgeFilesLines
* smbd: some write time fixesStefan Metzmacher2008-09-081-0/+1
| | | | | | | | | | | | | | | - only the first non truncating write causes the write time update with 2 seconds delay. It's not enough to check for an existing update event as it will be NULL after the event was triggered. - SMBwrite truncates always update the write time unless the sticky write time is set. - SMBwrite truncates don't trigger a write time update on close. metze (This used to be commit 3d17089b6dc773303c8c553f3f6140e60e348fb7)
* Write times code update.Jeremy Allison2008-09-051-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
* smbd: fix the handling of create_options to pass RAW-OPENStefan Metzmacher2008-08-201-4/+11
| | | | | | | | | 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)
* dssync keytab: add support for keeping track of the up-to-date-ness vector.Michael Adam2008-08-011-0/+1
| | | | | | | | | | | | | | | | | The startup operation should get the old up-to-date-ness vector from the backend and the finish operation should store the new vector to the backend after replication. This adds the change of the signatures of the operations ot the dssync_ops struct and the implementation for the keytab ops. The up-to-date-ness vector is stored under the principal constructed as UTDV/$naming_context_dn@$dns_domain_name. The vector is still uninterpreted in libnet_dssync_process(). This will be the next step... This code is essentially by Metze. Michael (This used to be commit 01318fb27a1aa9e5fed0d4dd882a123ab568ac37)
* Save 128 byte (32-bit platform) or 256 byte (64-bit) per connection_structVolker Lendecke2008-07-261-1/+1
| | | | | This was just too easy not to use :-) (This used to be commit a9922a2a3661a6cff7351ea6b3558f091bb45feb)
* YESS -- remove the PI_* pipe constantsVolker Lendecke2008-07-211-18/+0
| | | | (This used to be commit 26a40f708a44fa460459a43014a101a383586e54)
* The PIPE_ pipename macros are only used in cli_pipe.cVolker Lendecke2008-07-191-20/+0
| | | | (This used to be commit 03f7af26f255476d84a375a95fbccfce24db9de8)
* libads: Add API call to connect to a global catalog server.Gerald W. Carter2008-06-271-0/+1
| | | | | | | Extends ads_connect() to a new call ads_connect_gc() which connects on port 3268 rather than port 389. Also makes ads_try_connect() static and only used internally to ldap.c (This used to be commit f4c37dbe2c986fb7bfe510cdff3b4a9fbc06d079)
* Wrap the unix token info in a unix_user_token in auth_serversupplied_infoVolker Lendecke2008-06-191-2/+2
| | | | | No functional change, this is a preparation for more current_user ref removal (This used to be commit dcaedf345e62ab74ea87f0a3fa1e3199c75c5445)
* Fix Bug #5285. (libcap header mismatch)Günther Deschner2008-05-281-1/+2
| | | | | | | | | | Can someone with gpfs available test this ? The only codepath using this function is the modules/gpfs.c module. The fix resolves at least the build issues Samba has with recent kernel / libcap versions by using the portable cap_get_proc()/cap_set_proc() interface (instead of using capget/capset). Guenther (This used to be commit 177955141247a4eb56ba0d82dc1add7f52175c40)
* drsuapi: add all code required for our drsuapi rpc client.Günther Deschner2008-05-231-1/+4
| | | | | Guenther (This used to be commit 7c93190843e77764be4d0f6d4f0b93061c192c98)
* Compile endpoint mapper pidl outputVolker Lendecke2008-05-211-1/+4
| | | | (This used to be commit fe8f9e427af3eb42d63fde96c4fe20a255facb95)
* Simplify fake_file logicVolker Lendecke2008-05-161-1/+1
| | | | (This used to be commit 93111ea0a1191e8547ad6cf112e2699d3bb3799b)
* Remove "user" from connection_structVolker Lendecke2008-05-101-1/+0
| | | | (This used to be commit 368454a27cb53a408ec416cbf37235b304592fb5)
* Add a comment explaining server_info in connection_structVolker Lendecke2008-05-101-0/+4
| | | | (This used to be commit 35438a940734340d5d6389ae0551fe3c25902f93)
* Remove the unix token info from connection_structVolker Lendecke2008-05-101-8/+0
| | | | (This used to be commit 2834dacc8d49f77fe55fb5d7e3eb2dda431d1d3d)
* Replace nt_user_token with server_info in connection_structVolker Lendecke2008-05-101-1/+1
| | | | (This used to be commit a3738aef59e97d4533010b048534d937d36c0950)
* Next try at making the vuid cache circularVolker Lendecke2008-05-101-1/+1
| | | | | Jeremy, please check! (This used to be commit a34f73521712e3820d417f0d9ed811723b7681d6)
* Add "server_info" to connection_structVolker Lendecke2008-05-101-0/+2
| | | | | | This will replace all the user identity stuff in connection_struct, for now it is just a source where the other fields in connection_struct are filled from. (This used to be commit 0f53f9e7db9f99f239c4d0950452d0e2cde2ae8b)
* Remove unused "force_group" from connection_structVolker Lendecke2008-05-101-1/+0
| | | | (This used to be commit 03944f8d8934cff74e19fc036f7611c1491e0d57)
* Remove unused dir_status_structVolker Lendecke2008-05-051-10/+0
| | | | (This used to be commit 425ca59cce886daed0d6c63fe4382aee140c9518)
* Remove "userdom_struct user" from "struct user_struct"Volker Lendecke2008-05-051-2/+0
| | | | (This used to be commit 420de035237bb08bc470c9eb820f3da2edaa6805)
* Remove "session_key" from "struct user_struct"Volker Lendecke2008-05-051-2/+0
| | | | | This one took a bit -- I hope I covered all data paths (This used to be commit 74c88a44422f88d6e2f2cdbfdfa0bafe0dbe06c4)
* Remove "guest" from "struct user_struct"Volker Lendecke2008-05-051-2/+0
| | | | (This used to be commit 570a6b80feb5b0dc23213ba936c721e766cd4818)
* Remove the unix token info from "struct user_struct"Volker Lendecke2008-05-051-7/+0
| | | | (This used to be commit aa2299d42adf4d27e707ac755e07be70d0af1bb4)
* Remove "nt_user_token" from "struct user_struct"Volker Lendecke2008-05-051-2/+0
| | | | (This used to be commit 51d5d512f28eadc74eced43e5e7f4e5bdff3ff69)
* Remove "logon_script" from "struct user_struct"Volker Lendecke2008-05-051-2/+1
| | | | (This used to be commit b36fd84186a656f86e4cfb9166fc0ecbffb422cb)
* Remove unix_homedir from struct user_structVolker Lendecke2008-05-051-1/+0
| | | | | This makes pdb_get_unix_homedir unused. I wonder if that was ever really used... (This used to be commit 36bfd32f1ff878e827db91e9bf233719ecca5b01)
* Remove "homedir" from "struct user_struct"Volker Lendecke2008-05-051-1/+0
| | | | (This used to be commit 41f9afd62d8cc6067582d452f3d53a5c67253b69)
* Remove connection_struct->mem_ctx, connection_struct is its own parentVolker Lendecke2008-05-051-1/+0
| | | | (This used to be commit 559180f7d30606d1999399d954ceedc798c669a4)
* Remove the "stat_open()" function, flag, and all associated code. It was onlyJeremy Allison2008-05-021-1/+0
| | | | | | | | being (correctly) used in the can_read/can_write checks for hide unreadable/unwritable and this is more properly done using the functions in smbd/file_access.c. Preparing to do NT access checks on all file access. Jeremy. (This used to be commit 6bfb06ad95963ae2acb67c4694a98282d3b29faa)
* IDL: build generated nbt code.Günther Deschner2008-04-171-0/+1
| | | | | Guenther (This used to be commit 554dcfdab03f9d06f319a3234d56cf44dc38c9da)
* smbd: implement the strange write time update logicStefan Metzmacher2008-04-071-3/+7
| | | | | | | | | | | | | | | | | | | | | We now never call file_ntimes() directly, every update is done via smb_set_file_time(). This let samba3 pass the BASE-DELAYWRITE test. The write time is only updated 2 seconds after the first write() on any open handle to the current time (not the time of the first write). Each handle which had write requests updates the write time to the current time on close(). If the write time is set explicit via setfileinfo or setpathinfo the write time is visible directly and a following close on the same handle doesn't update the write time. metze (This used to be commit 2eab212ea2e1bfd8fa716c2c89b2c042f7ba12ea)
* locking: store the write time in the locking.tdbStefan Metzmacher2008-04-071-0/+4
| | | | | | | | | | This is needed to implement the strange write time update logic later. We need to store 2 time timestamps to distinguish between the time the file system had before the first client opened the file and a forced timestamp update. metze (This used to be commit 6aaa2ce0eeb46f6735ec984a2e7aadde7a7f456d)
* Patch from Nicholas Brealey <nick@brealey.org> to distinguish between WinXP ↵Gerald W. Carter2008-03-311-1/+1
| | | | | | | and WinXP64. Defines a new value for the %a variable when detecting a Windows XP 64-bit client. (This used to be commit 0c94918fb52c5345ce30490046b79f81712c30bf)
* Use a separate tdb for mutexesVolker Lendecke2008-03-101-0/+1
| | | | | | | | Another preparation to convert secrets.c to dbwrap: The dbwrap API does not provide a sane tdb_lock_with_timeout abstraction. In the clustered case the DC mutex is needed per-node anyway, so it is perfectly fine to use a local mutex only. (This used to be commit f94a63cd8f94490780ad9331da229c0bcb2ca5d6)
* Use pidl for NTSVCS.Günther Deschner2008-02-171-0/+1
| | | | | Guenther (This used to be commit 84a9bf0b7372bd7b7d4a1490c45e68b69889af8a)
* Add krb5pac IDL from samba4.Günther Deschner2008-02-171-0/+1
| | | | | Guenther (This used to be commit dc2e563e1fe5a18dc799e195d89199a59e3e05a7)
* Use generated DSSETUP client & server rpc functions and remove the ↵Günther Deschner2008-01-251-1/+2
| | | | | | | hand-written ones. Guenther (This used to be commit d5ebfccebb1f1b56b45673a506fcdb414103c43b)
* Re-run make idl and use generated ndr based on samba4 security.idl (except ↵Günther Deschner2008-01-241-4/+1
| | | | | | | for DOM_SID). Guenther (This used to be commit 1781a57b18f681f1bc03873330147a813f10eba2)
* Move samba_extended_info_version to smbd/trans2.cVolker Lendecke2008-01-221-1/+0
| | | | | | This is right now only used there, and in version.c it gave linker errors because some binaries (e.g. smbmnt) don't link in time.o (This used to be commit 1f0eaaa5911f893c822465a26fe49ab65afb0730)
* Get Samba version or capability information from WindowsCorinna Vinschen2008-01-221-0/+12
| | | | | | | | | | | | | | | | | | | | | On Jan 21 16:18, Danilo Almeida wrote: > Corina wrote: > > > + time_t samba_gitcommitdate; > > And: > > > + SIVAL(pdata,28,extended_info.samba_gitcommitdate); > > + memcpy(pdata+32,extended_info.samba_version_string,32); > > Note that you are dropping bits on a system w/64-bit time_t, and that this has the 2038 problem. Right. I changed samba_gitcommitdate from time_t to NTTIME and shortened samba_version_string to 28 bytes. New patch below. Thanks, Corinna (This used to be commit 28aa1c199d3a22cda34afcaab49c0561eeb0abcb)
* Hide streams from the EA APIVolker Lendecke2008-01-221-0/+2
| | | | (This used to be commit e9bb3d5067b74a29beb778f85687829778e42b5b)
* Add streams supportVolker Lendecke2008-01-191-0/+5
| | | | | | | | | | | This is the core of the streams support. The main change is that in files_struct there is now a base_fsp pointer that holds the main file open while a stream is open. This is necessary to get the rather strange delete semantics right: You can't delete the main file while a stream is open without FILE_SHARE_DELETE, and while a stream is open a successful unlink of the main file leads to DELETE_PENDING for all further access on the main file or any stream. (This used to be commit 6022873cc155bdbbd3fb620689715f07a24d6ed1)
* Add the "allinfo" command to smbclientVolker Lendecke2008-01-181-0/+10
| | | | | Modeled after the Samba4 allinfo command (This used to be commit 3fa0cf3fe5f819f6e76df6f7cef3bb4e1c307a52)
* Finally enable pidl generated SAMR & NETLOGON headers and clients.Günther Deschner2008-01-171-25/+2
| | | | | Guenther (This used to be commit f7100156a7df7ac3ae84e45a47153b38d9375215)
* Use pidl generated data from misc.idl.Günther Deschner2008-01-171-10/+10
| | | | | Guenther (This used to be commit 5d8e5cbc3b3ddd1c5788d66f252e4801739243bb)
* Include libnet_join.h in the right places.Günther Deschner2008-01-151-0/+2
| | | | | Guenther (This used to be commit 586d6cef521cebfd6fe2d433fdef498d4a59cb1b)
* Refactor the crypto code after a very helpful conversationJeremy Allison2008-01-041-0/+4
| | | | | | | with Volker. Mostly making sure we have data on the incoming packet type, not stored in the smb header. Jeremy. (This used to be commit c4e5a505043965eec77b5bb9bc60957e8f3b97c8)
* Happy new year !Günther Deschner2008-01-021-1/+1
| | | | | Guenther (This used to be commit 9a58cd57953d6aead14789daa47a3badef19496d)