mirror of
https://github.com/samba-team/samba.git
synced 2025-03-05 20:58:40 +03:00
r7229: use socket_pending() to get rid of the max packet size limits in the
nbt and dgram layers (This used to be commit 2a9efbdae638a655999e07a7c3da97fd20dc056c)
This commit is contained in:
parent
a8feef8d36
commit
665480ffed
@ -27,8 +27,6 @@
|
||||
#include "libcli/dgram/libdgram.h"
|
||||
#include "lib/socket/socket.h"
|
||||
|
||||
#define DGRAM_MAX_PACKET_SIZE 2048
|
||||
|
||||
|
||||
/*
|
||||
handle recv events on a nbt dgram socket
|
||||
@ -40,11 +38,17 @@ static void dgm_socket_recv(struct nbt_dgram_socket *dgmsock)
|
||||
const char *src_addr;
|
||||
int src_port;
|
||||
DATA_BLOB blob;
|
||||
size_t nread;
|
||||
size_t nread, dsize;
|
||||
struct nbt_dgram_packet *packet;
|
||||
const char *mailslot_name;
|
||||
|
||||
blob = data_blob_talloc(tmp_ctx, NULL, DGRAM_MAX_PACKET_SIZE);
|
||||
status = socket_pending(dgmsock->sock, &dsize);
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
talloc_free(tmp_ctx);
|
||||
return;
|
||||
}
|
||||
|
||||
blob = data_blob_talloc(tmp_ctx, NULL, dsize);
|
||||
if (blob.data == NULL) {
|
||||
talloc_free(tmp_ctx);
|
||||
return;
|
||||
|
@ -26,7 +26,6 @@
|
||||
#include "libcli/nbt/libnbt.h"
|
||||
#include "lib/socket/socket.h"
|
||||
|
||||
#define NBT_MAX_PACKET_SIZE 2048
|
||||
#define NBT_MAX_REPLIES 1000
|
||||
|
||||
/*
|
||||
@ -157,11 +156,17 @@ static void nbt_name_socket_recv(struct nbt_name_socket *nbtsock)
|
||||
const char *src_addr;
|
||||
int src_port;
|
||||
DATA_BLOB blob;
|
||||
size_t nread;
|
||||
size_t nread, dsize;
|
||||
struct nbt_name_packet *packet;
|
||||
struct nbt_name_request *req;
|
||||
|
||||
blob = data_blob_talloc(tmp_ctx, NULL, NBT_MAX_PACKET_SIZE);
|
||||
status = socket_pending(nbtsock->sock, &dsize);
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
talloc_free(tmp_ctx);
|
||||
return;
|
||||
}
|
||||
|
||||
blob = data_blob_talloc(tmp_ctx, NULL, dsize);
|
||||
if (blob.data == NULL) {
|
||||
talloc_free(tmp_ctx);
|
||||
return;
|
||||
|
Loading…
x
Reference in New Issue
Block a user