summaryrefslogtreecommitdiff
path: root/usr/src/lib/smbsrv/libsmb/common
diff options
context:
space:
mode:
authorjoyce mcintosh <Joyce.McIntosh@Sun.COM>2010-08-11 16:48:54 -0700
committerjoyce mcintosh <Joyce.McIntosh@Sun.COM>2010-08-11 16:48:54 -0700
commitfd9ee8b58485b20072eeef1310a88ff348d5e7fa (patch)
tree74e8f3fc5f5409cdc6be3dae5631f8d0c672260a /usr/src/lib/smbsrv/libsmb/common
parente2c5185af3c50d9510e5df68aa37abdc6c0d3aac (diff)
downloadillumos-gate-fd9ee8b58485b20072eeef1310a88ff348d5e7fa.tar.gz
6972305 Preferred DC not selected after setting pdc via sharectl
6971047 smbd hang during FVT regression test 6711195 Sparc:Get error "Windows Explorer has stopped working" once click on Details fr Properties on Vista PSARC/2009/464 Offline attribute 6972515 Offline attribute - PSARC 2009/464 PSARC/2010/037 Windows Sparse Attribute 6972519 Windows Sparse Attribute - PSARC 2010/037 6719444 [CLI] - idmap help's output is not consistent with man pages's 6975449 idmap test suite needs idmap_cache_get_data() from libidmap 6974351 OpenSSL still taking smbd down --HG-- rename : usr/src/lib/libidmap/common/idmap_priv.h => usr/src/cmd/idmap/idmap/namemaps.h
Diffstat (limited to 'usr/src/lib/smbsrv/libsmb/common')
-rw-r--r--usr/src/lib/smbsrv/libsmb/common/libsmb.h19
-rw-r--r--usr/src/lib/smbsrv/libsmb/common/mapfile-vers1
-rw-r--r--usr/src/lib/smbsrv/libsmb/common/smb_cfg.c17
-rw-r--r--usr/src/lib/smbsrv/libsmb/common/smb_kmod.c6
4 files changed, 19 insertions, 24 deletions
diff --git a/usr/src/lib/smbsrv/libsmb/common/libsmb.h b/usr/src/lib/smbsrv/libsmb/common/libsmb.h
index 750c96c1f8..c5542e0cd0 100644
--- a/usr/src/lib/smbsrv/libsmb/common/libsmb.h
+++ b/usr/src/lib/smbsrv/libsmb/common/libsmb.h
@@ -227,23 +227,6 @@ extern void smb_config_getdomaininfo(char *, char *, char *, char *, char *);
extern void smb_config_setdomaininfo(char *, char *, char *, char *, char *);
extern uint32_t smb_get_dcinfo(char *, uint32_t, smb_inaddr_t *);
-CONTEXT_HANDLE(rpc_handle) rpc_handle_t;
-
-typedef struct smb_spooldoc {
- uint32_t sd_magic;
- list_node_t sd_lnd;
- smb_inaddr_t sd_ipaddr;
- int sd_spool_num;
- char sd_username[MAXNAMELEN];
- char sd_path[MAXPATHLEN];
- char sd_doc_name[MAXNAMELEN];
- char sd_printer_name[MAXPATHLEN];
- int32_t sd_fd;
- rpc_handle_t sd_handle;
-} smb_spooldoc_t;
-
-int smb_kmod_get_spool_doc(uint32_t *, char *, char *, smb_inaddr_t *);
-
/*
* buffer context structure. This is used to keep track of the buffer
* context.
@@ -895,6 +878,7 @@ uint32_t smb_sd_fromfs(smb_fssd_t *, smb_sd_t *);
/* Kernel Module Interface */
int smb_kmod_bind(void);
+boolean_t smb_kmod_isbound(void);
int smb_kmod_setcfg(smb_kmod_cfg_t *);
int smb_kmod_setgmtoff(int32_t);
int smb_kmod_start(int, int, int);
@@ -914,6 +898,7 @@ smb_netsvc_t *smb_kmod_enum_init(smb_svcenum_t *);
void smb_kmod_enum_fini(smb_netsvc_t *);
int smb_kmod_session_close(const char *, const char *);
int smb_kmod_file_close(uint32_t);
+int smb_kmod_get_spool_doc(uint32_t *, char *, char *, smb_inaddr_t *);
void smb_name_parse(char *, char **, char **);
uint32_t smb_name_validate_share(const char *);
diff --git a/usr/src/lib/smbsrv/libsmb/common/mapfile-vers b/usr/src/lib/smbsrv/libsmb/common/mapfile-vers
index b99ffc7033..4c847f23bb 100644
--- a/usr/src/lib/smbsrv/libsmb/common/mapfile-vers
+++ b/usr/src/lib/smbsrv/libsmb/common/mapfile-vers
@@ -221,6 +221,7 @@ SYMBOL_VERSION SUNWprivate {
smb_kmod_file_close;
smb_kmod_get_open_num;
smb_kmod_get_spool_doc;
+ smb_kmod_isbound;
smb_kmod_nbtlisten;
smb_kmod_nbtreceive;
smb_kmod_session_close;
diff --git a/usr/src/lib/smbsrv/libsmb/common/smb_cfg.c b/usr/src/lib/smbsrv/libsmb/common/smb_cfg.c
index 1fcd40d1fd..e3b851695a 100644
--- a/usr/src/lib/smbsrv/libsmb/common/smb_cfg.c
+++ b/usr/src/lib/smbsrv/libsmb/common/smb_cfg.c
@@ -877,16 +877,18 @@ smb_config_get_version(smb_version_t *version)
char *p;
int rc, i;
static smb_version_t ver_table [] = {
- { SMB_MAJOR_NT, SMB_MINOR_NT },
- { SMB_MAJOR_2000, SMB_MINOR_2000 },
- { SMB_MAJOR_XP, SMB_MINOR_XP },
- { SMB_MAJOR_2003, SMB_MINOR_2003 },
- { SMB_MAJOR_VISTA, SMB_MINOR_VISTA },
- { SMB_MAJOR_2008, SMB_MINOR_2008 },
- { SMB_MAJOR_2008R2, SMB_MINOR_2008R2}
+ { 0, SMB_MAJOR_NT, SMB_MINOR_NT, 1381, 0 },
+ { 0, SMB_MAJOR_2000, SMB_MINOR_2000, 2195, 0 },
+ { 0, SMB_MAJOR_XP, SMB_MINOR_XP, 2196, 0 },
+ { 0, SMB_MAJOR_2003, SMB_MINOR_2003, 2196, 0 },
+ { 0, SMB_MAJOR_VISTA, SMB_MINOR_VISTA, 6000, 0 },
+ { 0, SMB_MAJOR_2008, SMB_MINOR_2008, 6000, 0 },
+ { 0, SMB_MAJOR_2008R2, SMB_MINOR_2008R2, 7007, 0 },
+ { 0, SMB_MAJOR_7, SMB_MINOR_7, 7007, 0 }
};
*version = ver_table[1];
+ version->sv_size = sizeof (smb_version_t);
rc = smb_config_getstr(SMB_CI_VERSION, verstr, sizeof (verstr));
if (rc != SMBD_SMF_OK)
@@ -903,6 +905,7 @@ smb_config_get_version(smb_version_t *version)
if ((tmpver.sv_major == ver_table[i].sv_major) &&
(tmpver.sv_minor == ver_table[i].sv_minor)) {
*version = ver_table[i];
+ version->sv_size = sizeof (smb_version_t);
break;
}
}
diff --git a/usr/src/lib/smbsrv/libsmb/common/smb_kmod.c b/usr/src/lib/smbsrv/libsmb/common/smb_kmod.c
index bcdc7e868a..ac5a60f7b0 100644
--- a/usr/src/lib/smbsrv/libsmb/common/smb_kmod.c
+++ b/usr/src/lib/smbsrv/libsmb/common/smb_kmod.c
@@ -63,6 +63,12 @@ smb_kmod_bind(void)
return (0);
}
+boolean_t
+smb_kmod_isbound(void)
+{
+ return ((smbdrv_fd == -1) ? B_FALSE : B_TRUE);
+}
+
int
smb_kmod_setcfg(smb_kmod_cfg_t *cfg)
{