summaryrefslogtreecommitdiff
path: root/source3/lib
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2008-05-30 10:09:22 -0700
committerJeremy Allison <jra@samba.org>2008-05-30 10:09:22 -0700
commita991c5a7c30253fa36e1ee65fb717d62acf3a806 (patch)
treef744dcbdef7864a1f5915564bde3e11e133a1ecd /source3/lib
parent2e9136e085f9a88741c594b44037b2f86474882f (diff)
parent3e20aeb18e418a5a1a7821fd8c3f0d0bc5169489 (diff)
downloadsamba-a991c5a7c30253fa36e1ee65fb717d62acf3a806.tar.gz
samba-a991c5a7c30253fa36e1ee65fb717d62acf3a806.tar.bz2
samba-a991c5a7c30253fa36e1ee65fb717d62acf3a806.zip
Merge branch 'v3-3-test' of ssh://jra@git.samba.org/data/git/samba into v3-3-test
(This used to be commit 3d01248f63d0d476c16236453983ffe759d0b2c2)
Diffstat (limited to 'source3/lib')
-rw-r--r--source3/lib/events.c2
-rw-r--r--source3/lib/system.c5
-rw-r--r--source3/lib/util_sock.c18
3 files changed, 11 insertions, 14 deletions
diff --git a/source3/lib/events.c b/source3/lib/events.c
index 9decf213b4..8134a7ac1c 100644
--- a/source3/lib/events.c
+++ b/source3/lib/events.c
@@ -356,7 +356,7 @@ int event_loop_once(struct event_context *ev)
struct event_context *event_context_init(TALLOC_CTX *mem_ctx)
{
- return TALLOC_ZERO_P(NULL, struct event_context);
+ return TALLOC_ZERO_P(mem_ctx, struct event_context);
}
int set_event_dispatch_time(struct event_context *event_ctx,
diff --git a/source3/lib/system.c b/source3/lib/system.c
index fa50955ef6..eabb6d6dc4 100644
--- a/source3/lib/system.c
+++ b/source3/lib/system.c
@@ -733,6 +733,11 @@ static bool set_process_capability(enum smbd_capability capability,
cap_vals[num_cap_vals++] = CAP_MKNOD;
#endif
break;
+ case LEASE_CAPABILITY:
+#ifdef CAP_LEASE
+ cap_vals[num_cap_vals++] = CAP_LEASE;
+#endif
+ break;
}
SMB_ASSERT(num_cap_vals <= ARRAY_SIZE(cap_vals));
diff --git a/source3/lib/util_sock.c b/source3/lib/util_sock.c
index f252377b7e..b2a1ece5db 100644
--- a/source3/lib/util_sock.c
+++ b/source3/lib/util_sock.c
@@ -1151,16 +1151,15 @@ NTSTATUS read_smb_length(int fd, char *inbuf, unsigned int timeout,
}
/****************************************************************************
- Read an smb from a fd. Note that the buffer *MUST* be of size
- BUFFER_SIZE+SAFETY_MARGIN.
+ Read an smb from a fd.
The timeout is in milliseconds.
This function will return on receipt of a session keepalive packet.
maxlen is the max number of bytes to return, not including the 4 byte
- length. If zero it means BUFFER_SIZE+SAFETY_MARGIN limit.
+ length. If zero it means buflen limit.
Doesn't check the MAC on signed packets.
****************************************************************************/
-NTSTATUS receive_smb_raw(int fd, char *buffer, unsigned int timeout,
+NTSTATUS receive_smb_raw(int fd, char *buffer, size_t buflen, unsigned int timeout,
size_t maxlen, size_t *p_len)
{
size_t len;
@@ -1173,17 +1172,10 @@ NTSTATUS receive_smb_raw(int fd, char *buffer, unsigned int timeout,
return status;
}
- /*
- * A WRITEX with CAP_LARGE_WRITEX can be 64k worth of data plus 65 bytes
- * of header. Don't print the error if this fits.... JRA.
- */
-
- if (len > (BUFFER_SIZE + LARGE_WRITEX_HDR_SIZE)) {
+ if (len > buflen) {
DEBUG(0,("Invalid packet length! (%lu bytes).\n",
(unsigned long)len));
- if (len > BUFFER_SIZE + (SAFETY_MARGIN/2)) {
- return NT_STATUS_INVALID_PARAMETER;
- }
+ return NT_STATUS_INVALID_PARAMETER;
}
if(len > 0) {