summaryrefslogtreecommitdiff
path: root/source4/include/smb.h
AgeCommit message (Collapse)AuthorFilesLines
2007-10-10r12494: Support loading modules from .so files for most subsystems.Jelmer Vernooij1-0/+1
We now use a different system for initializing the modules for a subsystem. Most subsystems now have an init function that looks something like this: init_module_fn static_init[] = STATIC_AUTH_MODULES; init_module_fn *shared_init = load_samba_modules(NULL, "auth"); run_init_functions(static_init); run_init_functions(shared_init); talloc_free(shared_init); I hope to eliminate the other init functions later on (the init_programname_subsystems; defines). (This used to be commit b6d2ad4ce0a91c4be790dd258820c492ff1787ea)
2007-10-10r11892: forgot to commit these changesAndrew Tridgell1-1/+2
(This used to be commit 07ee8ba126752a4f2ab82ce345c3513d38e5af68)
2007-10-10r11724: - move checks packet size and protocol version,Stefan Metzmacher1-0/+2
before we create the request structure - move code into one function metze (This used to be commit 96345b1c465c6cdf480f6e49d3c437cfe4d93c2c)
2007-10-10r10078: - add a 'struct data_blob_list_item'Stefan Metzmacher1-0/+5
- use this for the send_queue's of the different stream_servers to not redefine the same struct so often, and it maybe will be used in other places too metze (This used to be commit b6694f067ab7aff0ee303dbfe8a6e7fad801e7e9)
2007-10-10r9698: Fix a bit of memory managementJelmer Vernooij1-2/+2
More minor bugfixes Support mapping objectclasses and do mapping on 'dn' field as well (not just msg->dn) (This used to be commit b7b079167d5c6616f7c5c4afb7dd80c15707cfd9)
2007-10-10r7681: This #define is unused.Andrew Bartlett1-1/+0
Andrew Bartlett (This used to be commit 2a22f413c9704dbfc3befb819d4183523f75d393)
2007-10-10r7596: next step in ldap cleanup. I'm aiming to get rid of the cut&pastedAndrew Tridgell1-0/+4
ldif parsing code in libcli/ldap/ldap_ldif.c, and instead use the ldb ldif code. To do that I have changed the ldap code to use 'struct ldb_message_element' instead of 'struct ldap_attribute'. They are essentially the same structure anyway, so by making them really the same it will be much easier to use the ldb code in libcli/ldap/ I have also made 'struct ldb_val' the same as a DATA_BLOB, which will simplify data handling in quite a few places (I haven't yet removed all the code that maps between these two, that will come later) (This used to be commit 87fc3073392236221a3a6b933284e9e477c24ae5)
2007-10-10r5038: we don't need these defines any moreAndrew Tridgell1-4/+0
(This used to be commit 03697fc761d5f6a93de34c9eadc8fe2c45fa78ae)
2007-10-10r5034: - added a type mapping function in pidl, so the type names in our IDLAndrew Tridgell1-9/+0
files don't need to match the type names in the generated headers - with this type mapping we no longer need definitions for the deprecated "int32", "uint8" etc form of types. We can now force everyone to use the standard types int32_t, uint8_t etc. - fixed all the code that used the deprecated types - converted the IDL types "int64" and "uint64" to "dlong" and "udlong". These are the 4 byte aligned 64 bit integers that Microsoft internally define as two 32 bit integers in a structure. After discussions with Ronnie Sahlberg we decided that calling these "int64" was confusing, as it implied a true 8 byte aligned type - fixed all the cases where we incorrectly used things like "NTTIME_hyper" in our C code. The generated API now uses a NTTIME for those. The fact that it is hyper-aligned on the wire is not relevant to the API, and should remain just a IDL property (This used to be commit f86521677d7ff16bdc4815f9524e5286026f10f3)
2007-10-10r4816: Note that NTTIME is 4-byte aligned which makes the comment about ↵Tim Potter1-1/+1
alignment for NTTIME_hyper make a bit more sense. (This used to be commit 03c1dcb59658e92da6f7643350c06f9efa42f6c4)
2007-10-10r4673: Fix the IDL for the QuerySecret LSA call.Andrew Bartlett1-4/+7
This call uses a new IDL type, NTTIME_hyper. This is 8-byte aligned, as the name suggests. Expand the QuerySecret LSA calls in RPC-SAMLOGON and RPC-LSA, to validate the behaviour of times, and of the old secrets. Thanks to tridge for spotting the use of HYPER! Andrew Bartlett (This used to be commit 1fed79cb0f2ae7940639d08ef99576559d4cd06e)
2007-10-10r4419: move security_token stuff to the libcli/security/Stefan Metzmacher1-9/+0
and debug privileges metze (This used to be commit c981808ed4cfa63c7ba7c4f9190b6b14f74bab40)
2007-10-10r4387: added a TODO about the NTCREATEX_FLAGS_OPEN_DIRECTORY flag - it seems ↵Andrew Tridgell1-1/+2
to open the parent of the specified directory ?! (This used to be commit a012d1c978a478fe8debf0c546ed770047dbfbcf)
2007-10-10r4147: converted from NT_USER_TOKEN to struct security_tokenAndrew Tridgell1-16/+7
this is mostly just a tidyup, but also adds the privilege_mask, which I will be using shortly in ACL checking. note that I had to move the definition of struct security_token out of security.idl as pidl doesn't yet handle arrays of pointers, and the usual workaround (to use a intermediate structure) would make things too cumbersome for this structure, especially given we never encode it to NDR. (This used to be commit 7b446af09b8050746bfc2c50e9d56aa94397cc1a)
2007-10-10r3975: added LFN filesystem attribute bit definition from etherealAndrew Tridgell1-0/+1
apologies for not committing this earlier (This used to be commit 0950681091ab99f0e79048a9c1db57d057a96e66)
2007-10-10r3939: - added "posix:fakeoplocks" option for testing with oplocks forced onAndrew Tridgell1-18/+11
- added support for sticky write times after a setfileinfo, by using a write_time field in the DosAttrib xattr structure. (This used to be commit 4a52fae82d8305e999f94f1947daa21dab54cdfd)
2007-10-10r3869: in the NDR encoded replPropertyMetaData attribute in ADSStefan Metzmacher1-0/+2
I see a new 64 bit time field which are seconds since 1601, this will be mapped to NTTIME by th eparsing code +#define NTTIME_1sec NTTIME metze (This used to be commit db35f3b0f99943311ff8b797e8336616dab28220)
2007-10-10r3799: - added the bit for FS_ATTR_NAMED_STREAMS support into qfsinfo ↵Andrew Tridgell1-0/+18
filesystem attribute reply - pvfs passes the RAW-STREAMS test (This used to be commit c1a48a7542a52df734b54031f405d574e4c891e3)
2007-10-10r3618: - this adds the special case for DENY_DOS semantics, as shown by the ↵Andrew Tridgell1-11/+18
BASE-DENYDOS test. - pvfs now passes BASE-DENY1 and BASE-DENYDOS. (This used to be commit aa09df22ee729c02552638859236d9068e9748ae)
2007-10-10r3494: got rid of include/rewrite.h, and split out the dynconfig.h headerAndrew Tridgell1-0/+12
(This used to be commit 558de54ec6432a4ae90aa14a585f32c6cd03ced2)
2007-10-10r3425: got rid of a bunch of cruft from rewrite.hAndrew Tridgell1-0/+13
(This used to be commit 3f902f8d851d32fa81d89ed61bfda6edaea00984)
2007-10-10r3387: fixed pvfs to pass the NTDENY tests. The tricky bit wasAndrew Tridgell1-1/+1
SA_RIGHT_FILE_EXECUTE, which depends on a flags2 bit (This used to be commit c36851d230bcf552ed79322f8358060ab164ec09)
2007-10-10r3380: - changed the default behaviour of server signing. We now have a defaultAndrew Tridgell1-1/+2
setting of "server signing = auto", which means to offer signing only if we have domain logons enabled (ie. we are a DC). This is a better match for what windows clients want, as unfortunately windows clients always use signing if it is offered, and when they use signing they not only go slower because of the signing itself, they also disable large readx/writex support, so they end up sending very small IOs for. - changed the default max xmit again, this time matching longhorn, which uses 12288. That seems to be a fairly good compromise value. (This used to be commit e63edc81716fefd58a3be25deb3b25e45471f196)
2007-10-10r3336: use a struct ntvfs_async_state to be able to do async chaning of ↵Stefan Metzmacher1-6/+0
ntvfs modules the idea is that a passthru module can use ntvfs_async_state_push() before calling ntvfs_next_*() and in the _send function it calls ntvfs_async_state_pop() and then call the upper layer send_fn itself - ntvfs_nbench is now fully async - the ntvfs_map_*() functions and the trans(2) mapping functions are not converted yet metze (This used to be commit fde64c0dc142b53d128c8ba09af048dc58d8ef3a)
2007-10-10r3284: - don't use a enum for bit-fields. It isn't legal C (as C is limited toAndrew Tridgell1-30/+0
signed integer values for enum), and it is also very confusing to read. Also, please align defines nicely. The value of SV_TYPE_DOMAIN_ENUM was defined incorrectly, which became obvious when you align the defines, but wasn't at all obvious in the original code. - removed redundent defines in smb.h (This used to be commit fe042b8e5ca15dfd986bc0c05d464214a51cc0cf)
2007-10-10r3081: several updates to ntvfs and server side async request handling inAndrew Tridgell1-0/+1
preparation for the full share modes and ntcreatex code that I am working on. highlights include: - changed the way a backend determines if it is allowed to process a request asynchronously. The previous method of looking at the send_fn caused problems when an intermediate ntvfs module disabled it, and the caller then wanted to finished processing using this function. The new method is a REQ_CONTROL_MAY_ASYNC flag in req->control_flags, which is also a bit easier to read - fixed 2 bugs in the readbraw server code. One related to trying to answer a readbraw with smb signing (which can't work, and crashed our signing code), the second related to error handling, which attempted to send a normal SMB error packet, when readbraw must send a 0 read reply (as it has no header) - added several more ntvfs_generic.c generic mapping functions. This means that backends no longer need to implement such esoteric functions as SMBwriteunlock() if they don't want to. The backend can just request the mapping layer turn it into a write followed by an unlock. This makes the backends considerably simpler as they only need to implement one style of each function for lock, read, write, open etc, rather than the full host of functions that SMB provides. A backend can still choose to implement them individually, of course, and the CIFS backend does that. - simplified the generic structures to make them identical to the principal call for several common SMB calls (such as RAW_WRITE_GENERIC now being an alias for RAW_WRITE_WRITEX). - started rewriting the pvfs_open() code in preparation for the full ntcreatex semantics. - in pvfs_open and ipc_open, initially allocate the open file structure as a child of the request, so on error we don't need to clean up. Then when we are going to succeed the open steal the pointer into the long term backend context. This makes for much simpler error handling (and fixes some bugs) - use a destructor in the ipc backend to make sure that everthing is cleaned up on receive error conditions. - switched the ipc backend to using idtree for fnum allocation - in the ntvfs_generic mapping routines, use a allocated secondary structure not a stack structure to ensure the request pointer remains valid even if the backend replies async. (This used to be commit 3457c1836c09c82956697eb21627dfa2ed37682e)
2007-10-10r3029: implemented byte range lock timeouts.Andrew Tridgell1-1/+1
This adds a pvfs_wait_message() routine which uses the new messaging system, event timers and talloc destructors to give a nice generic async event handling system with a easy to use interface. The extensions to pvfs_lock.c are based on calls to pvfs_wait_message() routines. We now pass all of our smbtorture locking tests, although while writing this code I have thought of some additonal tests that should be added, particularly for lock cancel operations. I'll work on that soon. This commit also extends the smbtorture lock tests to test the rather weird 0xEEFFFFFF locking semantics that I have discovered in win2003. Win2003 treats the 0xEEFFFFFF boundary as special, and will give different error codes on either side of it. Locks on both sides are allowed, the only difference is which error code is given when a lock is denied. Anyone like to hazard a guess as to why? It has me stumped. (This used to be commit 4395c0557ab175d6a8dd99df03c266325949ffa5)
2007-10-10r3012: added initial support for byte range locking in the posix vfs. This isAndrew Tridgell1-1/+1
enough for us to pass locktest, but does not yet support lock timeouts and some of the other esoteric features. (This used to be commit 58a92abd88f190bc60894a68e0528e95ae33fe39)
2007-10-10r2618: before we had refererence counts in talloc I added a hack in theAndrew Tridgell1-1/+0
server side request structure to prevent a structing being freed in some circumstances. This change replaces this with the much more robust mechanism of talloc_increase_ref_count(). (This used to be commit 3f7741f178b359f81cc98ef18cd69bf976123e9f)
2007-10-10r1343: formatingStefan Metzmacher1-16/+16
metze (This used to be commit 442905394b5e2f74baa4d83b2f4ba5159f321dd2)
2007-10-10r1250: We no longer use these #definesAndrew Bartlett1-3/+0
Andrew Bartlett (This used to be commit e03195335931194372468bed2d758d4b9f686fe2)
2007-10-10r1065: some header file cleanupsStefan Metzmacher1-315/+0
smb.h should end with only smb protocol specific stuff in it metze (This used to be commit fda8e59f3d057bf849598f96f78f50f62d8514fe)
2007-10-10r1063: userdom_struct dies!Andrew Bartlett1-7/+0
(Cleanup unused header definitions) Andrew Bartlett (This used to be commit 5941873f558c2af6ab5ef64e468acc8fab96ac01)
2007-10-10r1019: Push the auth subsystem away from using typedef, and over to the 'allAndrew Bartlett1-3/+1
goodness and light' struct ;-) Break apart the auth subsystem's return strucutres, into the parts that a netlogon call cares about, and the parts that are for a local session. This is the 'struct session_info' and it will almost completly replace the current information stored on a vuid, but be generic to all login methods (RPC over TCP, for example). Andrew Bartlett (This used to be commit d199697014d9562f9439a30b950fda798c5ef419)
2007-10-10r962: convert 'unsigned' and 'unsigned int' to uint_tStefan Metzmacher1-1/+1
metze (This used to be commit 57151e80eb1090281401930c8fe25b20a8cf3a38)
2007-10-10r960: convert 'unsigned int' to uint_t in the most placesStefan Metzmacher1-2/+2
metze (This used to be commit 18062d2ed9fc9224c43143c10efbf2f6f1f5bbe0)
2007-10-10r943: change samba4 to use 'uint8_t' instead of 'unsigned char'Stefan Metzmacher1-2/+2
metze (This used to be commit b5378803fdcb3b3afe7c2932a38828e83470f61a)
2007-10-10r898: - remove some unused macrosAndrew Tridgell1-63/+0
- remove unused lib/smbpasswd.c - don't set the pkt size twice when doing SMB signing (This used to be commit 69a2942f7987647a32d43c71f41ac1a82a82ccda)
2007-10-10r890: convert samba4 to use [u]int8_t instead of [u]int8Stefan Metzmacher1-1/+1
metze (This used to be commit 2986c5f08c8f0c26a2ea7b6ce20aae025183109f)
2007-10-10r889: convert samba4 to use [u]int16_t instead of [u]int16Stefan Metzmacher1-2/+2
metze (This used to be commit af6f1f8a01bebbecd99bc8c066519e89966e65e3)
2007-10-10r884: convert samba4 to use [u]int32_t instead of [u]int32Stefan Metzmacher1-4/+4
metze (This used to be commit 0e5517d937a2eb7cf707991d1c7498c1ab456095)
2007-10-10r867: removed a couple of unused structuresAndrew Tridgell1-20/+0
(This used to be commit a70eb86a3fda6c48389834c442890a73caa155f9)
2007-10-10r838: got rid of rpc_misc.hAndrew Tridgell1-1/+0
(This used to be commit f61d333b2a280434181451ce735a05ad319a2515)
2007-10-10r837: get rid of some more old rpc headers, and the genparser headersAndrew Tridgell1-24/+0
(This used to be commit 3068b766edb17accbf52f82a81734f6d76e9f9bc)
2007-10-10r818: added server side SMB signing to Samba4Andrew Tridgell1-0/+2
(This used to be commit 8e5ddf5e8eb74f667897f90baa2d00f02ca5818b)
2007-10-10r707: Chainsaw work - SAM_ACCOUNT can die, along with passdbAndrew Bartlett1-116/+0
Andrew Bartlett (This used to be commit bd0e6c9983779e134d206ca939d221dab99521b6)
2007-10-10r685: The SAM is dead! Long live the new SAM! ;-)Andrew Bartlett1-5/+1
This commit kills passdb, which was only hosting the auth subsystem. With the work tridge has done on Samba4's SAM backend, this can (and now is) all hosted on ldb. The auth_sam.c file now references this backend. You will need to assign your users passwords in ldb - adding a new line: unicodePwd: myPass to a record, using ldbedit, should be sufficient. Naturally, this assumes you have had your personal SAMR provisioning tutorial from tridge. Everybody else can still use the anonymous logins. Andrew Bartlett (This used to be commit 2aa0b55fb86648731d5f2201fa5a6aa993b7ca48)
2007-10-10r614: Clean out the POSIX assumptions from the Samba4 auth subsystem.Andrew Bartlett1-12/+0
This removes the code that tried to lookup posix groups, as well as the code that was tied to the SAM_ACCOUNT. This should make auth_ldb much easier to write :-) Andrew Bartlett (This used to be commit e096ee2112adecaa69b6b3eb155a4e8f80dfc0f7)
2007-10-10r601: added the server code for all the samr_SetUserInfo and ↵Andrew Tridgell1-13/+0
samr_QueryUserInfo levels except for the password set levels. This means that a large part of the RPC-SAMR torture test now runs correctly against Samba4 (This used to be commit ec0a51898f543578e755207d81ed5c1524861c64)
2007-10-10r575: moved the SID_NAME_USE enum into samr.idlAndrew Tridgell1-13/+2
(This used to be commit 2cb06b39d91ef18b21c18e9376ccbd8076aeecf8)