[SCM] Samba Shared Repository - branch master updated - 05e0966d85e7b6c61c88edb4633d0dda40959f01

Günther Deschner gd at samba.org
Tue Sep 23 08:49:12 GMT 2008


The branch, master has been updated
       via  05e0966d85e7b6c61c88edb4633d0dda40959f01 (commit)
      from  4432967532897cc90ce7d7b11fab6f6f88f8bfc0 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 05e0966d85e7b6c61c88edb4633d0dda40959f01
Author: Günther Deschner <gd at samba.org>
Date:   Tue Sep 23 10:04:17 2008 +0200

    s3-nbt: remove old samba3 libcli/nbt copy.
    
    Guenther

-----------------------------------------------------------------------

Summary of changes:
 source3/libcli/nbt/libnbt.h  |  353 ------------------------
 source3/libcli/nbt/nbtname.c |  626 ------------------------------------------
 2 files changed, 0 insertions(+), 979 deletions(-)
 delete mode 100644 source3/libcli/nbt/libnbt.h
 delete mode 100644 source3/libcli/nbt/nbtname.c


Changeset truncated at 500 lines:

diff --git a/source3/libcli/nbt/libnbt.h b/source3/libcli/nbt/libnbt.h
deleted file mode 100644
index d37a17c..0000000
--- a/source3/libcli/nbt/libnbt.h
+++ /dev/null
@@ -1,353 +0,0 @@
-/*
-   Unix SMB/CIFS implementation.
-
-   a raw async NBT library
-
-   Copyright (C) Andrew Tridgell 2005
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef __LIBNBT_H__
-#define __LIBNBT_H__
-
-#include "librpc/gen_ndr/nbt.h"
-#include "librpc/ndr/libndr.h"
-
-/*
-  possible states for pending requests
-*/
-enum nbt_request_state {NBT_REQUEST_SEND,
-			NBT_REQUEST_WAIT,
-			NBT_REQUEST_DONE,
-			NBT_REQUEST_TIMEOUT,
-			NBT_REQUEST_ERROR};
-
-/*
-  a nbt name request
-*/
-struct nbt_name_request {
-	struct nbt_name_request *next, *prev;
-
-	enum nbt_request_state state;
-
-	NTSTATUS status;
-
-	/* the socket this was on */
-	struct nbt_name_socket *nbtsock;
-
-	/* where to send the request */
-	struct socket_address *dest;
-
-	/* timeout between retries */
-	int timeout;
-
-	/* how many retries to send on timeout */
-	int num_retries;
-
-	/* whether we have received a WACK */
-	bool received_wack;
-
-	/* the timeout event */
-	struct timed_event *te;
-
-	/* the name transaction id */
-	uint16_t name_trn_id;
-
-	/* is it a reply? */
-	bool is_reply;
-
-	/* the encoded request */
-	DATA_BLOB encoded;
-
-	/* shall we allow multiple replies? */
-	bool allow_multiple_replies;
-
-	unsigned int num_replies;
-	struct nbt_name_reply {
-		struct nbt_name_packet *packet;
-		struct socket_address *dest;
-	} *replies;
-
-	/* information on what to do on completion */
-	struct {
-		void (*fn)(struct nbt_name_request *);
-		void *_private;
-	} async;
-};
-
-
-
-/*
-  context structure for operations on name queries
-*/
-struct nbt_name_socket {
-	struct socket_context *sock;
-	struct event_context *event_ctx;
-/*
-	struct smb_iconv_convenience *iconv_convenience;
-*/
-	/* a queue of requests pending to be sent */
-	struct nbt_name_request *send_queue;
-
-	/* the fd event */
-	struct fd_event *fde;
-
-	/* mapping from name_trn_id to pending event */
-	struct idr_context *idr;
-
-	/* how many requests are waiting for a reply */
-	uint16_t num_pending;
-
-	/* what to do with incoming request packets */
-	struct {
-		void (*handler)(struct nbt_name_socket *, struct nbt_name_packet *,
-				struct socket_address *);
-		void *_private;
-	} incoming;
-
-	/* what to do with unexpected replies */
-	struct {
-		void (*handler)(struct nbt_name_socket *, struct nbt_name_packet *,
-				struct socket_address *);
-		void *_private;
-	} unexpected;
-};
-
-
-/* a simple name query */
-struct nbt_name_query {
-	struct {
-		struct nbt_name name;
-		const char *dest_addr;
-		uint16_t dest_port;
-		bool broadcast;
-		bool wins_lookup;
-		int timeout; /* in seconds */
-		int retries;
-	} in;
-	struct {
-		const char *reply_from;
-		struct nbt_name name;
-		int16_t num_addrs;
-		const char **reply_addrs;
-	} out;
-};
-
-/* a simple name status query */
-struct nbt_name_status {
-	struct {
-		struct nbt_name name;
-		const char *dest_addr;
-		uint16_t dest_port;
-		int timeout; /* in seconds */
-		int retries;
-	} in;
-	struct {
-		const char *reply_from;
-		struct nbt_name name;
-		struct nbt_rdata_status status;
-	} out;
-};
-
-/* a name registration request */
-struct nbt_name_register {
-	struct {
-		struct nbt_name name;
-		const char *dest_addr;
-		uint16_t dest_port;
-		const char *address;
-		uint16_t nb_flags;
-		bool register_demand;
-		bool broadcast;
-		bool multi_homed;
-		uint32_t ttl;
-		int timeout; /* in seconds */
-		int retries;
-	} in;
-	struct {
-		const char *reply_from;
-		struct nbt_name name;
-		const char *reply_addr;
-		uint8_t rcode;
-	} out;
-};
-
-/* a send 3 times then demand name broadcast name registration */
-struct nbt_name_register_bcast {
-	struct {
-		struct nbt_name name;
-		const char *dest_addr;
-		uint16_t dest_port;
-		const char *address;
-		uint16_t nb_flags;
-		uint32_t ttl;
-	} in;
-};
-
-
-/* wins name register with multiple wins servers to try and multiple
-   addresses to register */
-struct nbt_name_register_wins {
-	struct {
-		struct nbt_name name;
-		const char **wins_servers;
-		uint16_t wins_port;
-		const char **addresses;
-		uint16_t nb_flags;
-		uint32_t ttl;
-	} in;
-	struct {
-		const char *wins_server;
-		uint8_t rcode;
-	} out;
-};
-
-
-
-/* a name refresh request */
-struct nbt_name_refresh {
-	struct {
-		struct nbt_name name;
-		const char *dest_addr;
-		uint16_t dest_port;
-		const char *address;
-		uint16_t nb_flags;
-		bool broadcast;
-		uint32_t ttl;
-		int timeout; /* in seconds */
-		int retries;
-	} in;
-	struct {
-		const char *reply_from;
-		struct nbt_name name;
-		const char *reply_addr;
-		uint8_t rcode;
-	} out;
-};
-
-/* wins name refresh with multiple wins servers to try and multiple
-   addresses to register */
-struct nbt_name_refresh_wins {
-	struct {
-		struct nbt_name name;
-		const char **wins_servers;
-		uint16_t wins_port;
-		const char **addresses;
-		uint16_t nb_flags;
-		uint32_t ttl;
-	} in;
-	struct {
-		const char *wins_server;
-		uint8_t rcode;
-	} out;
-};
-
-
-/* a name release request */
-struct nbt_name_release {
-	struct {
-		struct nbt_name name;
-		const char *dest_addr;
-		uint16_t dest_port;
-		const char *address;
-		uint16_t nb_flags;
-		bool broadcast;
-		int timeout; /* in seconds */
-		int retries;
-	} in;
-	struct {
-		const char *reply_from;
-		struct nbt_name name;
-		const char *reply_addr;
-		uint8_t rcode;
-	} out;
-};
-
-struct nbt_name_socket *nbt_name_socket_init(TALLOC_CTX *mem_ctx,
-					     struct event_context *event_ctx);
-					     /*,
-					     struct smb_iconv_convenience *iconv_convenience);*/
-struct nbt_name_request *nbt_name_query_send(struct nbt_name_socket *nbtsock,
-					     struct nbt_name_query *io);
-NTSTATUS nbt_name_query_recv(struct nbt_name_request *req,
-			     TALLOC_CTX *mem_ctx, struct nbt_name_query *io);
-NTSTATUS nbt_name_query(struct nbt_name_socket *nbtsock,
-			TALLOC_CTX *mem_ctx, struct nbt_name_query *io);
-struct nbt_name_request *nbt_name_status_send(struct nbt_name_socket *nbtsock,
-					      struct nbt_name_status *io);
-NTSTATUS nbt_name_status_recv(struct nbt_name_request *req,
-			     TALLOC_CTX *mem_ctx, struct nbt_name_status *io);
-NTSTATUS nbt_name_status(struct nbt_name_socket *nbtsock,
-			TALLOC_CTX *mem_ctx, struct nbt_name_status *io);
-
-NTSTATUS nbt_name_dup(TALLOC_CTX *mem_ctx, struct nbt_name *name, struct nbt_name *newname);
-NTSTATUS nbt_name_to_blob(TALLOC_CTX *mem_ctx, DATA_BLOB *blob, struct nbt_name *name);
-NTSTATUS nbt_name_from_blob(TALLOC_CTX *mem_ctx, const DATA_BLOB *blob, struct nbt_name *name);
-void nbt_choose_called_name(TALLOC_CTX *mem_ctx, struct nbt_name *n, const char *name, int type);
-char *nbt_name_string(TALLOC_CTX *mem_ctx, const struct nbt_name *name);
-NTSTATUS nbt_name_register(struct nbt_name_socket *nbtsock,
-			   TALLOC_CTX *mem_ctx, struct nbt_name_register *io);
-NTSTATUS nbt_name_refresh(struct nbt_name_socket *nbtsock,
-			   TALLOC_CTX *mem_ctx, struct nbt_name_refresh *io);
-NTSTATUS nbt_name_release(struct nbt_name_socket *nbtsock,
-			   TALLOC_CTX *mem_ctx, struct nbt_name_release *io);
-NTSTATUS nbt_name_register_wins(struct nbt_name_socket *nbtsock,
-				TALLOC_CTX *mem_ctx,
-				struct nbt_name_register_wins *io);
-NTSTATUS nbt_name_refresh_wins(struct nbt_name_socket *nbtsock,
-				TALLOC_CTX *mem_ctx,
-				struct nbt_name_refresh_wins *io);
-NTSTATUS nbt_name_register_recv(struct nbt_name_request *req,
-				TALLOC_CTX *mem_ctx, struct nbt_name_register *io);
-struct nbt_name_request *nbt_name_register_send(struct nbt_name_socket *nbtsock,
-						struct nbt_name_register *io);
-NTSTATUS nbt_name_release_recv(struct nbt_name_request *req,
-			       TALLOC_CTX *mem_ctx, struct nbt_name_release *io);
-
-struct nbt_name_request *nbt_name_release_send(struct nbt_name_socket *nbtsock,
-					       struct nbt_name_release *io);
-
-NTSTATUS nbt_name_refresh_recv(struct nbt_name_request *req,
-			       TALLOC_CTX *mem_ctx, struct nbt_name_refresh *io);
-
-NTSTATUS nbt_set_incoming_handler(struct nbt_name_socket *nbtsock,
-				  void (*handler)(struct nbt_name_socket *, struct nbt_name_packet *,
-						  struct socket_address *),
-				  void *_private);
-NTSTATUS nbt_name_reply_send(struct nbt_name_socket *nbtsock,
-			     struct socket_address *dest,
-			     struct nbt_name_packet *request);
-
-
-NDR_SCALAR_PROTO(wrepl_nbt_name, const struct nbt_name *);
-NDR_SCALAR_PROTO(nbt_string, const char *);
-NDR_BUFFER_PROTO(nbt_name, struct nbt_name);
-NTSTATUS nbt_rcode_to_ntstatus(uint8_t rcode);
-
-struct composite_context;
-struct composite_context *nbt_name_register_bcast_send(struct nbt_name_socket *nbtsock,
-						       struct nbt_name_register_bcast *io);
-NTSTATUS nbt_name_register_bcast_recv(struct composite_context *c);
-struct composite_context *nbt_name_register_wins_send(struct nbt_name_socket *nbtsock,
-						      struct nbt_name_register_wins *io);
-NTSTATUS nbt_name_refresh_wins_recv(struct composite_context *c, TALLOC_CTX *mem_ctx,
-				     struct nbt_name_refresh_wins *io);
-struct composite_context *nbt_name_refresh_wins_send(struct nbt_name_socket *nbtsock,
-						      struct nbt_name_refresh_wins *io);
-NTSTATUS nbt_name_register_wins_recv(struct composite_context *c, TALLOC_CTX *mem_ctx,
-				     struct nbt_name_register_wins *io);
-
-
-#endif /* __LIBNBT_H__ */
diff --git a/source3/libcli/nbt/nbtname.c b/source3/libcli/nbt/nbtname.c
deleted file mode 100644
index fbb9550..0000000
--- a/source3/libcli/nbt/nbtname.c
+++ /dev/null
@@ -1,626 +0,0 @@
-/*
-   Unix SMB/CIFS implementation.
-
-   manipulate nbt name structures
-
-   Copyright (C) Andrew Tridgell 2005
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/*
-  see rfc1002 for the detailed format of compressed names
-*/
-
-#include "includes.h"
-#include "librpc/gen_ndr/ndr_nbt.h"
-#include "librpc/gen_ndr/ndr_misc.h"
-
-/* don't allow an unlimited number of name components */
-#define MAX_COMPONENTS 10
-
-/**
-  print a nbt string
-*/
-_PUBLIC_ void ndr_print_nbt_string(struct ndr_print *ndr, const char *name, const char *s)
-{
-	ndr_print_string(ndr, name, s);
-}
-
-/*
-  pull one component of a nbt_string
-*/
-static enum ndr_err_code ndr_pull_component(struct ndr_pull *ndr,
-					    uint8_t **component,
-					    uint32_t *offset,
-					    uint32_t *max_offset)
-{
-	uint8_t len;
-	uint_t loops = 0;
-	while (loops < 5) {
-		if (*offset >= ndr->data_size) {
-			return ndr_pull_error(ndr, NDR_ERR_STRING,
-					      "BAD NBT NAME component");
-		}
-		len = ndr->data[*offset];
-		if (len == 0) {
-			*offset += 1;
-			*max_offset = MAX(*max_offset, *offset);
-			*component = NULL;
-			return NDR_ERR_SUCCESS;
-		}
-		if ((len & 0xC0) == 0xC0) {
-			/* its a label pointer */
-			if (1 + *offset >= ndr->data_size) {
-				return ndr_pull_error(ndr, NDR_ERR_STRING,
-						      "BAD NBT NAME component");
-			}
-			*max_offset = MAX(*max_offset, *offset + 2);
-			*offset = ((len&0x3F)<<8) | ndr->data[1 + *offset];
-			*max_offset = MAX(*max_offset, *offset);
-			loops++;
-			continue;
-		}
-		if ((len & 0xC0) != 0) {
-			/* its a reserved length field */
-			return ndr_pull_error(ndr, NDR_ERR_STRING,
-					      "BAD NBT NAME component");
-		}
-		if (*offset + len + 2 > ndr->data_size) {
-			return ndr_pull_error(ndr, NDR_ERR_STRING,
-					      "BAD NBT NAME component");
-		}
-		*component = (uint8_t*)talloc_strndup(ndr, (const char *)&ndr->data[1 + *offset], len);
-		NDR_ERR_HAVE_NO_MEMORY(*component);
-		*offset += len + 1;
-		*max_offset = MAX(*max_offset, *offset);
-		return NDR_ERR_SUCCESS;
-	}
-
-	/* too many pointers */
-	return ndr_pull_error(ndr, NDR_ERR_STRING, "BAD NBT NAME component");
-}
-
-/**
-  pull a nbt_string from the wire
-*/
-_PUBLIC_ enum ndr_err_code ndr_pull_nbt_string(struct ndr_pull *ndr, int ndr_flags, const char **s)
-{
-	uint32_t offset = ndr->offset;
-	uint32_t max_offset = offset;
-	unsigned num_components;
-	char *name;
-
-	if (!(ndr_flags & NDR_SCALARS)) {
-		return NDR_ERR_SUCCESS;
-	}
-
-	name = NULL;
-
-	/* break up name into a list of components */
-	for (num_components=0;num_components<MAX_COMPONENTS;num_components++) {
-		uint8_t *component = NULL;
-		NDR_CHECK(ndr_pull_component(ndr, &component, &offset, &max_offset));
-		if (component == NULL) break;
-		if (name) {
-			name = talloc_asprintf_append_buffer(name, ".%s", component);
-			NDR_ERR_HAVE_NO_MEMORY(name);
-		} else {
-			name = (char *)component;
-		}
-	}
-	if (num_components == MAX_COMPONENTS) {
-		return ndr_pull_error(ndr, NDR_ERR_STRING,
-				      "BAD NBT NAME too many components");
-	}
-	if (num_components == 0) {
-		name = talloc_strdup(ndr, "");
-		NDR_ERR_HAVE_NO_MEMORY(name);
-	}
-
-	(*s) = name;
-	ndr->offset = max_offset;
-
-	return NDR_ERR_SUCCESS;


-- 
Samba Shared Repository


More information about the samba-cvs mailing list