📄 loadparm.c
字号:
Globals.change_notify_timeout = 60; /* 1 minute default. */ Globals.ReadSize = 16*1024; Globals.lm_announce = 2; /* = Auto: send only if LM clients found */ Globals.lm_interval = 60; Globals.shmem_size = SHMEM_SIZE; Globals.stat_cache_size = 50; /* Number of stat translations we'll keep */ Globals.announce_as = ANNOUNCE_AS_NT_SERVER; Globals.bUnixRealname = False;#if (defined(HAVE_NETGROUP) && defined(WITH_AUTOMOUNT)) Globals.bNISHomeMap = False;#ifdef WITH_NISPLUS_HOME string_set(&Globals.szNISHomeMapName, "auto_home.org_dir");#else string_set(&Globals.szNISHomeMapName, "auto.home");#endif#endif Globals.client_code_page = DEFAULT_CLIENT_CODE_PAGE; Globals.bTimeServer = False; Globals.bBindInterfacesOnly = False; Globals.bUnixPasswdSync = False; Globals.bPasswdChatDebug = False; Globals.bOleLockingCompat = True; Globals.bNTSmbSupport = True; /* Do NT SMB's by default. */ Globals.bNTPipeSupport = True; /* Do NT pipes by default. */ Globals.bNTAclSupport = True; /* Use NT ACLs by default. */ Globals.bStatCache = True; /* use stat cache by default */ Globals.bRestrictAnonymous = False; Globals.map_to_guest = 0; /* By Default, "Never" */ Globals.min_passwd_length = MINPASSWDLENGTH; /* By Default, 5. */ Globals.oplock_break_wait_time = 10; /* By Default, 10 msecs. */#ifdef WITH_LDAP /* default values for ldap */ string_set(&Globals.szLdapServer, "localhost"); Globals.ldap_port=389;#endif /* WITH_LDAP */#ifdef WITH_SSL Globals.sslVersion = SMB_SSL_V23; string_set(&Globals.sslHostsRequire, ""); string_set(&Globals.sslHostsResign, ""); string_set(&Globals.sslCaCertDir, ""); string_set(&Globals.sslCaCertFile, ""); string_set(&Globals.sslCert, ""); string_set(&Globals.sslPrivKey, ""); string_set(&Globals.sslClientCert, ""); string_set(&Globals.sslClientPrivKey, ""); string_set(&Globals.sslCiphers, ""); Globals.sslEnabled = False; Globals.sslReqClientCert = False; Globals.sslReqServerCert = False; Globals.sslCompatibility = False;#endif /* WITH_SSL *//* these parameters are set to defaults that are more appropriate for the increasing samba install base: as a member of the workgroup, that will possibly become a _local_ master browser (lm = True). this is opposed to a forced local master browser startup (pm = True). doesn't provide WINS server service by default (wsupp = False), and doesn't provide domain master browser services by default, either.*/ Globals.bPreferredMaster = False; Globals.bLocalMaster = True; Globals.bDomainMaster = False; Globals.bDomainLogons = False; Globals.bBrowseList = True; Globals.bWINSsupport = False; Globals.bWINSproxy = False; Globals.bDNSproxy = True; /* * smbd will check at runtime to see if this value * will really be used or not. */ Globals.bKernelOplocks = True; Globals.bAllowTrustedDomains = True; /* * This must be done last as it checks the value in * client_code_page. */ interpret_coding_system(KANJI);}#if 0/***************************************************************************check if a string is initialised and if not then initialise it***************************************************************************/static void string_initial(char **s,char *v){ if (!*s || !**s) string_init(s,v);}/***************************************************************************Initialise the sDefault parameter structure.***************************************************************************/static void init_locals(void){ /* choose defaults depending on the type of printing */ switch (sDefault.iPrinting) { case PRINT_BSD: case PRINT_AIX: case PRINT_LPRNG: case PRINT_PLP: string_initial(&sDefault.szLpqcommand,"lpq -P%p"); string_initial(&sDefault.szLprmcommand,"lprm -P%p %j"); string_initial(&sDefault.szPrintcommand,"lpr -r -P%p %s"); break; case PRINT_SYSV: case PRINT_HPUX: string_initial(&sDefault.szLpqcommand,"lpstat -o%p"); string_initial(&sDefault.szLprmcommand,"cancel %p-%j"); string_initial(&sDefault.szPrintcommand,"lp -c -d%p %s; rm %s");#ifdef HPUX string_initial(&sDefault.szQueuepausecommand, "disable %p"); string_initial(&sDefault.szQueueresumecommand, "enable %p");#else /* SYSV */ string_initial(&sDefault.szLppausecommand,"lp -i %p-%j -H hold"); string_initial(&sDefault.szLpresumecommand,"lp -i %p-%j -H resume"); string_initial(&sDefault.szQueuepausecommand, "lpc stop %p"); string_initial(&sDefault.szQueueresumecommand, "lpc start %p");#endif /* SYSV */ break; case PRINT_QNX: string_initial(&sDefault.szLpqcommand,"lpq -P%p"); string_initial(&sDefault.szLprmcommand,"lprm -P%p %j"); string_initial(&sDefault.szPrintcommand,"lp -r -P%p %s"); break; case PRINT_SOFTQ: string_initial(&sDefault.szLpqcommand,"qstat -l -d%p"); string_initial(&sDefault.szLprmcommand,"qstat -s -j%j -c"); string_initial(&sDefault.szPrintcommand,"lp -d%p -s %s; rm %s"); string_initial(&sDefault.szLppausecommand,"qstat -s -j%j -h"); string_initial(&sDefault.szLpresumecommand,"qstat -s -j%j -r"); break; }}#else#define init_locals()#endif /* 0 *//******************************************************************* aconvenience routine to grab string parameters into a rotating buffer,and run standard_sub_basic on them. The buffers can be written to bycallers without affecting the source string.********************************************************************/static char *lp_string(char *s){ static char *bufs[10]; static int buflen[10]; static int next = -1; char *ret; int i; int len = s?strlen(s):0; if (next == -1) { /* initialisation */ for (i=0;i<10;i++) { bufs[i] = NULL; buflen[i] = 0; } next = 0; } len = MAX(len+100,sizeof(pstring)); /* the +100 is for some substitution room */ if (buflen[next] != len) { buflen[next] = len; if (bufs[next]) free(bufs[next]); bufs[next] = (char *)malloc(len); if (!bufs[next]) { DEBUG(0,("out of memory in lp_string()")); exit(1); } } ret = &bufs[next][0]; next = (next+1)%10; if (!s) *ret = 0; else StrCpy(ret,s); trim_string(ret, "\"", "\""); standard_sub_basic(ret); return(ret);}/* In this section all the functions that are used to access the parameters from the rest of the program are defined */#define FN_GLOBAL_STRING(fn_name,ptr) \ char *fn_name(void) {return(lp_string(*(char **)(ptr) ? *(char **)(ptr) : ""));}#define FN_GLOBAL_BOOL(fn_name,ptr) \ BOOL fn_name(void) {return(*(BOOL *)(ptr));}#define FN_GLOBAL_CHAR(fn_name,ptr) \ char fn_name(void) {return(*(char *)(ptr));}#define FN_GLOBAL_INTEGER(fn_name,ptr) \ int fn_name(void) {return(*(int *)(ptr));}#define FN_LOCAL_STRING(fn_name,val) \ char *fn_name(int i) {return(lp_string((LP_SNUM_OK(i)&&pSERVICE(i)->val)?pSERVICE(i)->val : sDefault.val));}#define FN_LOCAL_BOOL(fn_name,val) \ BOOL fn_name(int i) {return(LP_SNUM_OK(i)? pSERVICE(i)->val : sDefault.val);}#define FN_LOCAL_CHAR(fn_name,val) \ char fn_name(int i) {return(LP_SNUM_OK(i)? pSERVICE(i)->val : sDefault.val);}#define FN_LOCAL_INTEGER(fn_name,val) \ int fn_name(int i) {return(LP_SNUM_OK(i)? pSERVICE(i)->val : sDefault.val);}FN_GLOBAL_STRING(lp_logfile,&Globals.szLogFile)FN_GLOBAL_STRING(lp_configfile,&Globals.szConfigFile)FN_GLOBAL_STRING(lp_smb_passwd_file,&Globals.szSMBPasswdFile)FN_GLOBAL_STRING(lp_serverstring,&Globals.szServerString)FN_GLOBAL_STRING(lp_printcapname,&Globals.szPrintcapname)FN_GLOBAL_STRING(lp_lockdir,&Globals.szLockDir)FN_GLOBAL_STRING(lp_rootdir,&Globals.szRootdir)FN_GLOBAL_STRING(lp_defaultservice,&Globals.szDefaultService)FN_GLOBAL_STRING(lp_msg_command,&Globals.szMsgCommand)FN_GLOBAL_STRING(lp_hosts_equiv,&Globals.szHostsEquiv)FN_GLOBAL_STRING(lp_auto_services,&Globals.szAutoServices)FN_GLOBAL_STRING(lp_passwd_program,&Globals.szPasswdProgram)FN_GLOBAL_STRING(lp_passwd_chat,&Globals.szPasswdChat)FN_GLOBAL_STRING(lp_passwordserver,&Globals.szPasswordServer)FN_GLOBAL_STRING(lp_name_resolve_order,&Globals.szNameResolveOrder)FN_GLOBAL_STRING(lp_workgroup,&Globals.szWorkGroup)FN_GLOBAL_STRING(lp_username_map,&Globals.szUsernameMap)#ifdef USING_GROUPNAME_MAPFN_GLOBAL_STRING(lp_groupname_map,&Globals.szGroupnameMap)#endif /* USING_GROUPNAME_MAP */FN_GLOBAL_STRING(lp_logon_script,&Globals.szLogonScript) FN_GLOBAL_STRING(lp_logon_path,&Globals.szLogonPath) FN_GLOBAL_STRING(lp_logon_drive,&Globals.szLogonDrive) FN_GLOBAL_STRING(lp_logon_home,&Globals.szLogonHome) FN_GLOBAL_STRING(lp_remote_announce,&Globals.szRemoteAnnounce) FN_GLOBAL_STRING(lp_remote_browse_sync,&Globals.szRemoteBrowseSync) FN_GLOBAL_STRING(lp_wins_server,&Globals.szWINSserver)FN_GLOBAL_STRING(lp_interfaces,&Globals.szInterfaces)FN_GLOBAL_STRING(lp_socket_address,&Globals.szSocketAddress)FN_GLOBAL_STRING(lp_nis_home_map_name,&Globals.szNISHomeMapName)static FN_GLOBAL_STRING(lp_announce_version,&Globals.szAnnounceVersion)FN_GLOBAL_STRING(lp_netbios_aliases,&Globals.szNetbiosAliases)FN_GLOBAL_STRING(lp_driverfile,&Globals.szDriverFile)FN_GLOBAL_STRING(lp_panic_action,&Globals.szPanicAction)#if 0FN_GLOBAL_STRING(lp_adduser_script,&Globals.szAddUserScript)FN_GLOBAL_STRING(lp_deluser_script,&Globals.szDelUserScript)#endifFN_GLOBAL_STRING(lp_domain_groups,&Globals.szDomainGroups)FN_GLOBAL_STRING(lp_domain_admin_group,&Globals.szDomainAdminGroup)FN_GLOBAL_STRING(lp_domain_guest_group,&Globals.szDomainGuestGroup)FN_GLOBAL_STRING(lp_domain_admin_users,&Globals.szDomainAdminUsers)FN_GLOBAL_STRING(lp_domain_guest_users,&Globals.szDomainGuestUsers)#ifdef WITH_LDAPFN_GLOBAL_STRING(lp_ldap_server,&Globals.szLdapServer);FN_GLOBAL_STRING(lp_ldap_suffix,&Globals.szLdapSuffix);FN_GLOBAL_STRING(lp_ldap_filter,&Globals.szLdapFilter);FN_GLOBAL_STRING(lp_ldap_root,&Globals.szLdapRoot);FN_GLOBAL_STRING(lp_ldap_rootpasswd,&Globals.szLdapRootPassword);#endif /* WITH_LDAP */#ifdef WITH_SSLFN_GLOBAL_INTEGER(lp_ssl_version,&Globals.sslVersion);FN_GLOBAL_STRING(lp_ssl_hosts,&Globals.sslHostsRequire);FN_GLOBAL_STRING(lp_ssl_hosts_resign,&Globals.sslHostsResign);FN_GLOBAL_STRING(lp_ssl_cacertdir,&Globals.sslCaCertDir);FN_GLOBAL_STRING(lp_ssl_cacertfile,&Globals.sslCaCertFile);FN_GLOBAL_STRING(lp_ssl_cert,&Globals.sslCert);FN_GLOBAL_STRING(lp_ssl_privkey,&Globals.sslPrivKey);FN_GLOBAL_STRING(lp_ssl_client_cert,&Globals.sslClientCert);FN_GLOBAL_STRING(lp_ssl_client_privkey,&Globals.sslClientPrivKey);FN_GLOBAL_STRING(lp_ssl_ciphers,&Globals.sslCiphers);FN_GLOBAL_BOOL(lp_ssl_enabled,&Globals.sslEnabled);FN_GLOBAL_BOOL(lp_ssl_reqClientCert,&Globals.sslReqClientCert);FN_GLOBAL_BOOL(lp_ssl_reqServerCert,&Globals.sslReqServerCert);FN_GLOBAL_BOOL(lp_ssl_compatibility,&Globals.sslCompatibility);#endif /* WITH_SSL */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -