summaryrefslogtreecommitdiff
path: root/source3/smbd/nttrans.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2013-08-07 13:48:55 -0700
committerStefan Metzmacher <metze@samba.org>2013-08-15 09:07:06 +0200
commitc80349e0fad7c182b0bddefed99a78d95323faca (patch)
tree7d41a5637c37b274c7bd67e6bf859bb9fa53bdde /source3/smbd/nttrans.c
parent2394f8788d2f6e21064db0b6099a0dbe3a33e1d6 (diff)
downloadsamba-c80349e0fad7c182b0bddefed99a78d95323faca.tar.gz
samba-c80349e0fad7c182b0bddefed99a78d95323faca.tar.bz2
samba-c80349e0fad7c182b0bddefed99a78d95323faca.zip
s3:lib: Factor read_ea_list_entry() and read_nttrans_ea_list() out so they can be used by the SMB2 client code.
Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
Diffstat (limited to 'source3/smbd/nttrans.c')
-rw-r--r--source3/smbd/nttrans.c44
1 files changed, 1 insertions, 43 deletions
diff --git a/source3/smbd/nttrans.c b/source3/smbd/nttrans.c
index bcba29a3e8..94be9f6d8d 100644
--- a/source3/smbd/nttrans.c
+++ b/source3/smbd/nttrans.c
@@ -29,6 +29,7 @@
#include "auth.h"
#include "smbprofile.h"
#include "libsmb/libsmb.h"
+#include "lib/util_ea.h"
extern const struct generic_mapping file_generic_mapping;
@@ -966,49 +967,6 @@ NTSTATUS set_sd_blob(files_struct *fsp, uint8_t *data, uint32_t sd_len,
}
/****************************************************************************
- Read a list of EA names and data from an incoming data buffer. Create an ea_list with them.
-****************************************************************************/
-
-struct ea_list *read_nttrans_ea_list(TALLOC_CTX *ctx, const char *pdata, size_t data_size)
-{
- struct ea_list *ea_list_head = NULL;
- size_t offset = 0;
-
- if (data_size < 4) {
- return NULL;
- }
-
- while (offset + 4 <= data_size) {
- size_t next_offset = IVAL(pdata,offset);
- struct ea_list *eal = read_ea_list_entry(ctx, pdata + offset + 4, data_size - offset - 4, NULL);
-
- if (!eal) {
- return NULL;
- }
-
- DLIST_ADD_END(ea_list_head, eal, struct ea_list *);
- if (next_offset == 0) {
- break;
- }
-
- /* Integer wrap protection for the increment. */
- if (offset + next_offset < offset) {
- break;
- }
-
- offset += next_offset;
-
- /* Integer wrap protection for while loop. */
- if (offset + 4 < offset) {
- break;
- }
-
- }
-
- return ea_list_head;
-}
-
-/****************************************************************************
Reply to a NT_TRANSACT_CREATE call (needs to process SD's).
****************************************************************************/