Skip to content

Commit

Permalink
s3:include: move struct connection_struct (and sub structs) to vfs.h
Browse files Browse the repository at this point in the history
metze
  • Loading branch information
metze-samba committed Jun 6, 2012
1 parent f88d13b commit 5fc502c
Show file tree
Hide file tree
Showing 3 changed files with 94 additions and 94 deletions.
95 changes: 1 addition & 94 deletions source3/include/smb.h
Original file line number Diff line number Diff line change
Expand Up @@ -151,106 +151,13 @@ struct sys_notify_context {
#include "ntquotas.h"
#include "sysquotas.h"

struct vuid_cache_entry {
struct auth_session_info *session_info;
uint16_t vuid;
bool read_only;
};

struct vuid_cache {
unsigned int next_entry;
struct vuid_cache_entry array[VUID_CACHE_SIZE];
};

typedef struct {
char *name;
bool is_wild;
} name_compare_entry;

/* Include VFS stuff */

#include "smb_acls.h"
#include "vfs.h"

struct dfree_cached_info {
time_t last_dfree_time;
uint64_t dfree_ret;
uint64_t bsize;
uint64_t dfree;
uint64_t dsize;
};

struct dptr_struct;

struct share_params {
int service;
};

typedef struct connection_struct {
struct connection_struct *next, *prev;
struct smbd_server_connection *sconn; /* can be NULL */
unsigned cnum; /* an index passed over the wire */
struct share_params *params;
bool force_user;
struct vuid_cache vuid_cache;
bool printer;
bool ipc;
bool read_only; /* Attributes for the current user of the share. */
uint32_t share_access;
/* Does this filesystem honor
sub second timestamps on files
and directories when setting time ? */
enum timestamp_set_resolution ts_res;
char *connectpath;
char *origpath;

struct vfs_handle_struct *vfs_handles; /* for the new plugins */

/*
* This represents the user information on this connection. Depending
* on the vuid using this tid, this might change per SMB request.
*/
struct auth_session_info *session_info;

/*
* If the "force group" parameter is set, this is the primary gid that
* may be used in the users token, depending on the vuid using this tid.
*/
gid_t force_group_gid;

uint16 vuid; /* vuid of user who *opened* this connection, or UID_FIELD_INVALID */

time_t lastused;
time_t lastused_count;
int num_files_open;
unsigned int num_smb_operations; /* Count of smb operations on this tree. */
int encrypt_level;
bool encrypted_tid;

/* Semantics requested by the client or forced by the server config. */
bool case_sensitive;
bool case_preserve;
bool short_case_preserve;

/* Semantics provided by the underlying filesystem. */
int fs_capabilities;
/* Device number of the directory of the share mount.
Used to ensure unique FileIndex returns. */
SMB_DEV_T base_share_dev;

name_compare_entry *hide_list; /* Per-share list of files to return as hidden. */
name_compare_entry *veto_list; /* Per-share list of files to veto (never show). */
name_compare_entry *veto_oplock_list; /* Per-share list of files to refuse oplocks on. */
name_compare_entry *aio_write_behind_list; /* Per-share list of files to use aio write behind on. */
struct dfree_cached_info *dfree_info;
struct trans_state *pending_trans;

struct rpc_pipe_client *spoolss_pipe;

} connection_struct;

struct current_user {
connection_struct *conn;
struct connection_struct *conn;
uint16 vuid;
struct security_unix_token ut;
struct security_token *nt_user_token;
Expand Down
91 changes: 91 additions & 0 deletions source3/include/vfs.h
Original file line number Diff line number Diff line change
Expand Up @@ -249,6 +249,97 @@ typedef struct files_struct {

} files_struct;

struct vuid_cache_entry {
struct auth_session_info *session_info;
uint16_t vuid;
bool read_only;
};

struct vuid_cache {
unsigned int next_entry;
struct vuid_cache_entry array[VUID_CACHE_SIZE];
};

typedef struct {
char *name;
bool is_wild;
} name_compare_entry;

struct dfree_cached_info {
time_t last_dfree_time;
uint64_t dfree_ret;
uint64_t bsize;
uint64_t dfree;
uint64_t dsize;
};

struct share_params {
int service;
};

typedef struct connection_struct {
struct connection_struct *next, *prev;
struct smbd_server_connection *sconn; /* can be NULL */
unsigned cnum; /* an index passed over the wire */
struct share_params *params;
bool force_user;
struct vuid_cache vuid_cache;
bool printer;
bool ipc;
bool read_only; /* Attributes for the current user of the share. */
uint32_t share_access;
/* Does this filesystem honor
sub second timestamps on files
and directories when setting time ? */
enum timestamp_set_resolution ts_res;
char *connectpath;
char *origpath;

struct vfs_handle_struct *vfs_handles; /* for the new plugins */

/*
* This represents the user information on this connection. Depending
* on the vuid using this tid, this might change per SMB request.
*/
struct auth_session_info *session_info;

/*
* If the "force group" parameter is set, this is the primary gid that
* may be used in the users token, depending on the vuid using this tid.
*/
gid_t force_group_gid;

uint16 vuid; /* vuid of user who *opened* this connection, or UID_FIELD_INVALID */

time_t lastused;
time_t lastused_count;
int num_files_open;
unsigned int num_smb_operations; /* Count of smb operations on this tree. */
int encrypt_level;
bool encrypted_tid;

/* Semantics requested by the client or forced by the server config. */
bool case_sensitive;
bool case_preserve;
bool short_case_preserve;

/* Semantics provided by the underlying filesystem. */
int fs_capabilities;
/* Device number of the directory of the share mount.
Used to ensure unique FileIndex returns. */
SMB_DEV_T base_share_dev;

name_compare_entry *hide_list; /* Per-share list of files to return as hidden. */
name_compare_entry *veto_list; /* Per-share list of files to veto (never show). */
name_compare_entry *veto_oplock_list; /* Per-share list of files to refuse oplocks on. */
name_compare_entry *aio_write_behind_list; /* Per-share list of files to use aio write behind on. */
struct dfree_cached_info *dfree_info;
struct trans_state *pending_trans;

struct rpc_pipe_client *spoolss_pipe;

} connection_struct;

/*
* Info about an alternate data stream
*/
Expand Down
2 changes: 2 additions & 0 deletions source3/smbd/smbd.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
#ifndef _SMBD_SMBD_H
#define _SMBD_SMBD_H

struct dptr_struct;

#include "smb_acls.h"
#include "vfs.h"
#include "smbd/proto.h"
Expand Down

0 comments on commit 5fc502c

Please sign in to comment.