BOOL bNTPipeSupport;
BOOL bStatCache;
BOOL bKernelOplocks;
+#if defined(HAVE_MYSQL_H) && defined(WITH_MYSQLSAM)
+ char *sMysqlDatabase;
+ char *sMysqlTable;
+ char *sMysqlUser;
+ char *sMysqlHost;
+ char *sMysqlPassFile;
+#endif
} global;
static global Globals;
char *writelist;
char *volume;
char *fstype;
+ char *vfsObjectFile;
int iMinPrintSpace;
int iCreate_mask;
int iCreate_force_mode;
NULL, /* writelist */
NULL, /* volume */
NULL, /* fstype */
+ NULL, /* vfs object */
0, /* iMinPrintSpace */
0744, /* iCreate_mask */
0000, /* iCreate_force_mode */
static BOOL handle_copy(char *pszParmValue, char **ptr);
static BOOL handle_character_set(char *pszParmValue,char **ptr);
static BOOL handle_coding_system(char *pszParmValue,char **ptr);
+static BOOL handle_vfs_object(char *pszParmValue, char **ptr);
static void set_default_server_announce_type(void);
{"ldap passwd file", P_STRING, P_GLOBAL, &Globals.szLdapPasswdFile, NULL, NULL, 0},
#endif /* WITH_LDAP */
+#if defined(HAVE_MYSQL_H) && defined(WITH_MYSQLSAM)
+ {"MySQL Options", P_SEP, P_SEPARATOR},
+ {"mysql host", P_STRING, P_GLOBAL, &Globals.sMysqlHost, NULL, NULL, 0},
+ {"mysql user", P_STRING, P_GLOBAL, &Globals.sMysqlUser, NULL, NULL, 0},
+ {"mysql pass file", P_STRING, P_GLOBAL, &Globals.sMysqlPassFile, NULL, NULL, 0},
+ {"mysql database", P_STRING, P_GLOBAL, &Globals.sMysqlDatabase, NULL, NULL, 0},
+ {"mysql table", P_STRING, P_GLOBAL, &Globals.sMysqlTable, NULL, NULL, 0},
+#endif /* MYSQL */
{"Miscellaneous Options", P_SEP, P_SEPARATOR},
{"available", P_BOOL, P_LOCAL, &sDefault.bAvailable, NULL, NULL, 0},
{"volume", P_STRING, P_LOCAL, &sDefault.volume, NULL, NULL, 0},
{"fstype", P_STRING, P_LOCAL, &sDefault.fstype, NULL, NULL, 0},
+ {"vfs object", P_STRING, P_LOCAL, &sDefault.vfsObjectFile, handle_vfs_object, NULL, 0},
{"set directory", P_BOOLREV, P_LOCAL, &sDefault.bNo_set_dir, NULL, NULL, 0},
{"wide links", P_BOOL, P_LOCAL, &sDefault.bWidelinks, NULL, NULL, FLAG_GLOBAL},
{"follow symlinks", P_BOOL, P_LOCAL, &sDefault.bSymlinks, NULL, NULL, FLAG_GLOBAL},
*/
Globals.bKernelOplocks = True;
+#if defined(HAVE_MYSQL_H) && defined(WITH_MYSQLSAM)
+ string_set(&Globals.sMysqlHost,"localhost");
+ string_set(&Globals.sMysqlUser,"root");
+ string_set(&Globals.sMysqlPassFile,NULL);
+ string_set(&Globals.sMysqlDatabase,"samba");
+ string_set(&Globals.sMysqlTable,"smbpasswd");
+#endif
+
/*
* This must be done last as it checks the value in
* client_code_page.
FN_LOCAL_STRING(lp_readlist,readlist)
FN_LOCAL_STRING(lp_writelist,writelist)
FN_LOCAL_STRING(lp_fstype,fstype)
+FN_LOCAL_STRING(lp_vfsobj,vfsObjectFile)
static FN_LOCAL_STRING(lp_volume,volume)
FN_LOCAL_STRING(lp_mangled_map,szMangledMap)
FN_LOCAL_STRING(lp_veto_files,szVetoFiles)
FN_LOCAL_CHAR(lp_magicchar,magic_char)
+#if defined(HAVE_MYSQL_H) && defined(WITH_MYSQLSAM)
+FN_GLOBAL_STRING(lp_mysql_host,&Globals.sMysqlHost)
+FN_GLOBAL_STRING(lp_mysql_user,&Globals.sMysqlUser)
+FN_GLOBAL_STRING(lp_mysql_passfile,&Globals.sMysqlPassFile)
+FN_GLOBAL_STRING(lp_mysql_db,&Globals.sMysqlDatabase)
+FN_GLOBAL_STRING(lp_mysql_table,&Globals.sMysqlTable)
+#endif
/* local prototypes */
return(False);
}
+/***************************************************************************
+ handle the interpretation of the vfs object parameter
+ *************************************************************************/
+static BOOL handle_vfs_object(char *pszParmValue,char **ptr)
+{
+ /* Set string value */
+
+ string_set(ptr,pszParmValue);
+
+ /* Do any other initialisation required for vfs. Note that
+ anything done here may have linking repercussions in nmbd. */
+
+ return True;
+}
+
/***************************************************************************
handle the interpretation of the coding system parameter
*************************************************************************/
********************************************************************/
static void set_default_server_announce_type(void)
{
- default_server_announce = (SV_TYPE_WORKSTATION | SV_TYPE_SERVER |
- SV_TYPE_SERVER_UNIX | SV_TYPE_PRINTQ_SERVER);
- if(lp_announce_as() == ANNOUNCE_AS_NT)
- default_server_announce |= (SV_TYPE_SERVER_NT | SV_TYPE_NT);
- else if(lp_announce_as() == ANNOUNCE_AS_WIN95)
- default_server_announce |= SV_TYPE_WIN95_PLUS;
- else if(lp_announce_as() == ANNOUNCE_AS_WFW)
- default_server_announce |= SV_TYPE_WFW;
- default_server_announce |= (lp_time_server() ? SV_TYPE_TIME_SOURCE : 0);
+ default_server_announce = 0;
+ default_server_announce |= SV_TYPE_WORKSTATION;
+ default_server_announce |= SV_TYPE_SERVER;
+ default_server_announce |= SV_TYPE_SERVER_UNIX;
+ default_server_announce |= SV_TYPE_PRINTQ_SERVER;
+
+ switch (lp_announce_as())
+ {
+ case ANNOUNCE_AS_NT:
+ {
+ default_server_announce |= SV_TYPE_SERVER_NT;
+ default_server_announce |= SV_TYPE_NT;
+ break;
+ }
+ case ANNOUNCE_AS_WIN95:
+ {
+ default_server_announce |= SV_TYPE_WIN95_PLUS;
+ break;
+ }
+ case ANNOUNCE_AS_WFW:
+ {
+ default_server_announce |= SV_TYPE_WFW;
+ break;
+ }
+ default:
+ {
+ break;
+ }
+ }
+
+ switch (lp_server_role())
+ {
+ case ROLE_DOMAIN_MEMBER:
+ {
+ default_server_announce |= SV_TYPE_DOMAIN_MEMBER;
+ break;
+ }
+ case ROLE_DOMAIN_PDC:
+ {
+ default_server_announce |= SV_TYPE_DOMAIN_CTRL;
+ break;
+ }
+ case ROLE_DOMAIN_BDC:
+ {
+ default_server_announce |= SV_TYPE_DOMAIN_BAKCTRL;
+ break;
+ }
+ case ROLE_DOMAIN_NONE:
+ default:
+ {
+ break;
+ }
+ }
+
+ if (lp_time_server())
+ {
+ default_server_announce |= SV_TYPE_TIME_SOURCE;
+ }
}