1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-23 09:57:40 +03:00

s3:lib: split things into a conn_tdb.h

metze

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Tue Jun  5 19:28:35 CEST 2012 on sn-devel-104
This commit is contained in:
Stefan Metzmacher 2012-06-04 15:32:28 +02:00
parent 5a122931ed
commit 8693a4fff9
12 changed files with 71 additions and 44 deletions

View File

@ -87,25 +87,6 @@ size_t align_string(const void *base_ptr, const char *p, int flags);
size_t dos_PutUniCode(char *dst,const char *src, size_t len, bool null_terminate); size_t dos_PutUniCode(char *dst,const char *src, size_t len, bool null_terminate);
int rpcstr_push_talloc(TALLOC_CTX *ctx, smb_ucs2_t **dest, const char *src); int rpcstr_push_talloc(TALLOC_CTX *ctx, smb_ucs2_t **dest, const char *src);
/* The following definitions come from lib/conn_tdb.c */
struct db_record *connections_fetch_entry(TALLOC_CTX *mem_ctx,
connection_struct *conn,
const char *name);
int connections_traverse(int (*fn)(struct db_record *rec,
void *private_data),
void *private_data);
int connections_forall(int (*fn)(struct db_record *rec,
const struct connections_key *key,
const struct connections_data *data,
void *private_data),
void *private_data);
int connections_forall_read(int (*fn)(const struct connections_key *key,
const struct connections_data *data,
void *private_data),
void *private_data);
bool connections_init(bool rw);
/* The following definitions come from lib/dmallocmsg.c */ /* The following definitions come from lib/dmallocmsg.c */
void register_dmalloc_msgs(struct messaging_context *msg_ctx); void register_dmalloc_msgs(struct messaging_context *msg_ctx);

View File

@ -564,31 +564,6 @@ Offset Data length.
#define NT_HASH_LEN 16 #define NT_HASH_LEN 16
#define LM_HASH_LEN 16 #define LM_HASH_LEN 16
/* key and data in the connections database - used in smbstatus and smbd */
struct connections_key {
struct server_id pid;
int cnum;
fstring name;
};
struct connections_data {
int magic;
struct server_id pid;
int cnum;
uid_t uid;
gid_t gid;
char servicename[FSTRING_LEN];
char addr[24];
char machine[FSTRING_LEN];
time_t start;
/*
* This field used to hold the msg_flags. For compatibility reasons,
* keep the data structure in the tdb file the same.
*/
uint32 unused_compatitibility_field;
};
/* offsets into message for common items */ /* offsets into message for common items */
#define smb_com (NBT_HDR_SIZE+HDR_COM) #define smb_com (NBT_HDR_SIZE+HDR_COM)
#define smb_rcls (NBT_HDR_SIZE+HDR_RCLS) #define smb_rcls (NBT_HDR_SIZE+HDR_RCLS)

View File

@ -23,6 +23,7 @@
#include "dbwrap/dbwrap.h" #include "dbwrap/dbwrap.h"
#include "dbwrap/dbwrap_open.h" #include "dbwrap/dbwrap_open.h"
#include "messages.h" #include "messages.h"
#include "lib/conn_tdb.h"
static struct db_context *connections_db_ctx(bool rw) static struct db_context *connections_db_ctx(bool rw)
{ {

62
source3/lib/conn_tdb.h Normal file
View File

@ -0,0 +1,62 @@
/*
Unix SMB/CIFS implementation.
Low-level connections.tdb access functions
Copyright (C) Volker Lendecke 2007
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/>.
*/
/* key and data in the connections database - used in smbstatus and smbd */
struct connections_key {
struct server_id pid;
int cnum;
fstring name;
};
struct connections_data {
int magic;
struct server_id pid;
int cnum;
uid_t uid;
gid_t gid;
char servicename[FSTRING_LEN];
char addr[24];
char machine[FSTRING_LEN];
time_t start;
/*
* This field used to hold the msg_flags. For compatibility reasons,
* keep the data structure in the tdb file the same.
*/
uint32 unused_compatitibility_field;
};
/* The following definitions come from lib/conn_tdb.c */
struct db_record *connections_fetch_entry(TALLOC_CTX *mem_ctx,
connection_struct *conn,
const char *name);
int connections_traverse(int (*fn)(struct db_record *rec,
void *private_data),
void *private_data);
int connections_forall(int (*fn)(struct db_record *rec,
const struct connections_key *key,
const struct connections_data *data,
void *private_data),
void *private_data);
int connections_forall_read(int (*fn)(const struct connections_key *key,
const struct connections_data *data,
void *private_data),
void *private_data);
bool connections_init(bool rw);

View File

@ -37,6 +37,7 @@
#include "smbd/globals.h" #include "smbd/globals.h"
#include "auth.h" #include "auth.h"
#include "messages.h" #include "messages.h"
#include "lib/conn_tdb.h"
extern const struct generic_mapping file_generic_mapping; extern const struct generic_mapping file_generic_mapping;

View File

@ -24,6 +24,7 @@
#include "auth.h" #include "auth.h"
#include "../lib/tsocket/tsocket.h" #include "../lib/tsocket/tsocket.h"
#include "messages.h" #include "messages.h"
#include "lib/conn_tdb.h"
/**************************************************************************** /****************************************************************************
Delete a connection record. Delete a connection record.

View File

@ -42,6 +42,7 @@
#include "lib/id_cache.h" #include "lib/id_cache.h"
#include "lib/param/param.h" #include "lib/param/param.h"
#include "lib/background.h" #include "lib/background.h"
#include "lib/conn_tdb.h"
struct smbd_open_socket; struct smbd_open_socket;
struct smbd_child_pid; struct smbd_child_pid;

View File

@ -36,6 +36,7 @@
#include "smbprofile.h" #include "smbprofile.h"
#include "../libcli/security/security.h" #include "../libcli/security/security.h"
#include "auth/gensec/gensec.h" #include "auth/gensec/gensec.h"
#include "lib/conn_tdb.h"
/**************************************************************************** /****************************************************************************
Add the standard 'Samba' signature to the end of the session setup. Add the standard 'Samba' signature to the end of the session setup.

View File

@ -22,6 +22,7 @@
#include "dbwrap/dbwrap.h" #include "dbwrap/dbwrap.h"
#include "serverid.h" #include "serverid.h"
#include "session.h" #include "session.h"
#include "lib/conn_tdb.h"
static int net_serverid_list_fn(const struct server_id *id, static int net_serverid_list_fn(const struct server_id *id,
uint32_t msg_flags, void *priv) uint32_t msg_flags, void *priv)

View File

@ -20,6 +20,7 @@
#include "utils/net.h" #include "utils/net.h"
#include "session.h" #include "session.h"
#include "messages.h" #include "messages.h"
#include "lib/conn_tdb.h"
int net_status_usage(struct net_context *c, int argc, const char **argv) int net_status_usage(struct net_context *c, int argc, const char **argv)
{ {

View File

@ -42,6 +42,7 @@
#include "librpc/gen_ndr/open_files.h" #include "librpc/gen_ndr/open_files.h"
#include "smbd/proto.h" #include "smbd/proto.h"
#include "librpc/gen_ndr/notify.h" #include "librpc/gen_ndr/notify.h"
#include "lib/conn_tdb.h"
#define SMB_MAXPIDS 2048 #define SMB_MAXPIDS 2048
static uid_t Ucrit_uid = 0; /* added by OH */ static uid_t Ucrit_uid = 0; /* added by OH */

View File

@ -22,6 +22,7 @@
#include "libcli/security/security.h" #include "libcli/security/security.h"
#include "locking/proto.h" #include "locking/proto.h"
#include "librpc/gen_ndr/open_files.h" #include "librpc/gen_ndr/open_files.h"
#include "lib/conn_tdb.h"
#define _(x) lang_msg_rotate(talloc_tos(),x) #define _(x) lang_msg_rotate(talloc_tos(),x)