📄 loadparm.c
字号:
FN_GLOBAL_BOOL(lp_dns_proxy,&Globals.bDNSproxy)FN_GLOBAL_BOOL(lp_wins_support,&Globals.bWINSsupport)FN_GLOBAL_BOOL(lp_we_are_a_wins_server,&Globals.bWINSsupport)FN_GLOBAL_BOOL(lp_wins_proxy,&Globals.bWINSproxy)FN_GLOBAL_BOOL(lp_local_master,&Globals.bLocalMaster)FN_GLOBAL_BOOL(lp_domain_master,&Globals.bDomainMaster)FN_GLOBAL_BOOL(lp_domain_logons,&Globals.bDomainLogons)FN_GLOBAL_BOOL(lp_preferred_master,&Globals.bPreferredMaster)FN_GLOBAL_BOOL(lp_load_printers,&Globals.bLoadPrinters)FN_GLOBAL_BOOL(lp_use_rhosts,&Globals.bUseRhosts)FN_GLOBAL_BOOL(lp_readprediction,&Globals.bReadPrediction)FN_GLOBAL_BOOL(lp_readbmpx,&Globals.bReadbmpx)FN_GLOBAL_BOOL(lp_readraw,&Globals.bReadRaw)FN_GLOBAL_BOOL(lp_writeraw,&Globals.bWriteRaw)FN_GLOBAL_BOOL(lp_null_passwords,&Globals.bNullPasswords)FN_GLOBAL_BOOL(lp_strip_dot,&Globals.bStripDot)FN_GLOBAL_BOOL(lp_encrypted_passwords,&Globals.bEncryptPasswords)FN_GLOBAL_BOOL(lp_update_encrypted,&Globals.bUpdateEncrypt)FN_GLOBAL_BOOL(lp_syslog_only,&Globals.bSyslogOnly)FN_GLOBAL_BOOL(lp_timestamp_logs,&Globals.bTimestampLogs)FN_GLOBAL_BOOL(lp_browse_list,&Globals.bBrowseList)FN_GLOBAL_BOOL(lp_unix_realname,&Globals.bUnixRealname)FN_GLOBAL_BOOL(lp_nis_home_map,&Globals.bNISHomeMap)static FN_GLOBAL_BOOL(lp_time_server,&Globals.bTimeServer)FN_GLOBAL_BOOL(lp_bind_interfaces_only,&Globals.bBindInterfacesOnly)FN_GLOBAL_BOOL(lp_unix_password_sync,&Globals.bUnixPasswdSync)FN_GLOBAL_BOOL(lp_passwd_chat_debug,&Globals.bPasswdChatDebug)FN_GLOBAL_BOOL(lp_ole_locking_compat,&Globals.bOleLockingCompat)FN_GLOBAL_BOOL(lp_nt_smb_support,&Globals.bNTSmbSupport)FN_GLOBAL_BOOL(lp_nt_pipe_support,&Globals.bNTPipeSupport)FN_GLOBAL_BOOL(lp_nt_acl_support,&Globals.bNTAclSupport)FN_GLOBAL_BOOL(lp_stat_cache,&Globals.bStatCache)FN_GLOBAL_BOOL(lp_allow_trusted_domains,&Globals.bAllowTrustedDomains)FN_GLOBAL_BOOL(lp_restrict_anonymous,&Globals.bRestrictAnonymous)FN_GLOBAL_INTEGER(lp_os_level,&Globals.os_level)FN_GLOBAL_INTEGER(lp_max_ttl,&Globals.max_ttl)FN_GLOBAL_INTEGER(lp_max_wins_ttl,&Globals.max_wins_ttl)FN_GLOBAL_INTEGER(lp_min_wins_ttl,&Globals.max_wins_ttl)FN_GLOBAL_INTEGER(lp_max_open_files,&Globals.max_open_files)FN_GLOBAL_INTEGER(lp_maxxmit,&Globals.max_xmit)FN_GLOBAL_INTEGER(lp_maxmux,&Globals.max_mux)FN_GLOBAL_INTEGER(lp_passwordlevel,&Globals.pwordlevel)FN_GLOBAL_INTEGER(lp_usernamelevel,&Globals.unamelevel)FN_GLOBAL_INTEGER(lp_readsize,&Globals.ReadSize)FN_GLOBAL_INTEGER(lp_shmem_size,&Globals.shmem_size)FN_GLOBAL_INTEGER(lp_deadtime,&Globals.deadtime)FN_GLOBAL_INTEGER(lp_maxprotocol,&Globals.maxprotocol)FN_GLOBAL_INTEGER(lp_security,&Globals.security)FN_GLOBAL_INTEGER(lp_maxdisksize,&Globals.maxdisksize)FN_GLOBAL_INTEGER(lp_lpqcachetime,&Globals.lpqcachetime)FN_GLOBAL_INTEGER(lp_syslog,&Globals.syslog)FN_GLOBAL_INTEGER(lp_client_code_page,&Globals.client_code_page)static FN_GLOBAL_INTEGER(lp_announce_as,&Globals.announce_as)FN_GLOBAL_INTEGER(lp_lm_announce,&Globals.lm_announce)FN_GLOBAL_INTEGER(lp_lm_interval,&Globals.lm_interval)FN_GLOBAL_INTEGER(lp_machine_password_timeout,&Globals.machine_password_timeout)FN_GLOBAL_INTEGER(lp_change_notify_timeout,&Globals.change_notify_timeout)FN_GLOBAL_INTEGER(lp_stat_cache_size,&Globals.stat_cache_size)FN_GLOBAL_INTEGER(lp_map_to_guest,&Globals.map_to_guest)FN_GLOBAL_INTEGER(lp_min_passwd_length,&Globals.min_passwd_length)FN_GLOBAL_INTEGER(lp_oplock_break_wait_time,&Globals.oplock_break_wait_time)#ifdef WITH_LDAPFN_GLOBAL_INTEGER(lp_ldap_port,&Globals.ldap_port)#endif /* WITH_LDAP */FN_LOCAL_STRING(lp_preexec,szPreExec)FN_LOCAL_STRING(lp_postexec,szPostExec)FN_LOCAL_STRING(lp_rootpreexec,szRootPreExec)FN_LOCAL_STRING(lp_rootpostexec,szRootPostExec)FN_LOCAL_STRING(lp_servicename,szService)FN_LOCAL_STRING(lp_pathname,szPath)FN_LOCAL_STRING(lp_dontdescend,szDontdescend)FN_LOCAL_STRING(lp_username,szUsername)FN_LOCAL_STRING(lp_guestaccount,szGuestaccount)FN_LOCAL_STRING(lp_invalid_users,szInvalidUsers)FN_LOCAL_STRING(lp_valid_users,szValidUsers)FN_LOCAL_STRING(lp_admin_users,szAdminUsers)FN_LOCAL_STRING(lp_printcommand,szPrintcommand)FN_LOCAL_STRING(lp_lpqcommand,szLpqcommand)FN_LOCAL_STRING(lp_lprmcommand,szLprmcommand)FN_LOCAL_STRING(lp_lppausecommand,szLppausecommand)FN_LOCAL_STRING(lp_lpresumecommand,szLpresumecommand)FN_LOCAL_STRING(lp_queuepausecommand,szQueuepausecommand)FN_LOCAL_STRING(lp_queueresumecommand,szQueueresumecommand)FN_LOCAL_STRING(lp_printername,szPrintername)FN_LOCAL_STRING(lp_printerdriver,szPrinterDriver)FN_LOCAL_STRING(lp_hostsallow,szHostsallow)FN_LOCAL_STRING(lp_hostsdeny,szHostsdeny)FN_LOCAL_STRING(lp_magicscript,szMagicScript)FN_LOCAL_STRING(lp_magicoutput,szMagicOutput)FN_LOCAL_STRING(lp_comment,comment)FN_LOCAL_STRING(lp_force_user,force_user)FN_LOCAL_STRING(lp_force_group,force_group)FN_LOCAL_STRING(lp_readlist,readlist)FN_LOCAL_STRING(lp_writelist,writelist)FN_LOCAL_STRING(lp_fstype,fstype)static FN_LOCAL_STRING(lp_volume,volume)FN_LOCAL_STRING(lp_mangled_map,szMangledMap)FN_LOCAL_STRING(lp_veto_files,szVetoFiles)FN_LOCAL_STRING(lp_hide_files,szHideFiles)FN_LOCAL_STRING(lp_veto_oplocks,szVetoOplockFiles)FN_LOCAL_STRING(lp_driverlocation,szPrinterDriverLocation)FN_LOCAL_BOOL(lp_revalidate,bRevalidate)FN_LOCAL_BOOL(lp_casesensitive,bCaseSensitive)FN_LOCAL_BOOL(lp_preservecase,bCasePreserve)FN_LOCAL_BOOL(lp_shortpreservecase,bShortCasePreserve)FN_LOCAL_BOOL(lp_casemangle,bCaseMangle)FN_LOCAL_BOOL(lp_status,status)FN_LOCAL_BOOL(lp_hide_dot_files,bHideDotFiles)FN_LOCAL_BOOL(lp_browseable,bBrowseable)FN_LOCAL_BOOL(lp_readonly,bRead_only)FN_LOCAL_BOOL(lp_no_set_dir,bNo_set_dir)FN_LOCAL_BOOL(lp_guest_ok,bGuest_ok)FN_LOCAL_BOOL(lp_guest_only,bGuest_only)FN_LOCAL_BOOL(lp_print_ok,bPrint_ok)FN_LOCAL_BOOL(lp_postscript,bPostscript)FN_LOCAL_BOOL(lp_map_hidden,bMap_hidden)FN_LOCAL_BOOL(lp_map_archive,bMap_archive)FN_LOCAL_BOOL(lp_locking,bLocking)FN_LOCAL_BOOL(lp_strict_locking,bStrictLocking)FN_LOCAL_BOOL(lp_share_modes,bShareModes)FN_LOCAL_BOOL(lp_oplocks,bOpLocks)FN_LOCAL_BOOL(lp_onlyuser,bOnlyUser)FN_LOCAL_BOOL(lp_manglednames,bMangledNames)FN_LOCAL_BOOL(lp_widelinks,bWidelinks)FN_LOCAL_BOOL(lp_symlinks,bSymlinks)FN_LOCAL_BOOL(lp_syncalways,bSyncAlways)FN_LOCAL_BOOL(lp_strict_sync,bStrictSync)FN_LOCAL_BOOL(lp_map_system,bMap_system)FN_LOCAL_BOOL(lp_delete_readonly,bDeleteReadonly)FN_LOCAL_BOOL(lp_fake_oplocks,bFakeOplocks)FN_LOCAL_BOOL(lp_recursive_veto_delete,bDeleteVetoFiles)FN_LOCAL_BOOL(lp_dos_filetimes,bDosFiletimes)FN_LOCAL_BOOL(lp_dos_filetime_resolution,bDosFiletimeResolution)FN_LOCAL_BOOL(lp_fake_dir_create_times,bFakeDirCreateTimes)FN_LOCAL_BOOL(lp_blocking_locks,bBlockingLocks)FN_LOCAL_BOOL(lp_mangle_locks,bMangleLocks)FN_LOCAL_INTEGER(lp_create_mode,iCreate_mask)FN_LOCAL_INTEGER(lp_force_create_mode,iCreate_force_mode)FN_LOCAL_INTEGER(lp_dir_mode,iDir_mask)FN_LOCAL_INTEGER(lp_force_dir_mode,iDir_force_mode)FN_LOCAL_INTEGER(lp_max_connections,iMaxConnections)FN_LOCAL_INTEGER(lp_defaultcase,iDefaultCase)FN_LOCAL_INTEGER(lp_minprintspace,iMinPrintSpace)FN_LOCAL_INTEGER(lp_printing,iPrinting)FN_LOCAL_INTEGER(lp_oplock_contention_limit,iOplockContentionLimit)FN_LOCAL_CHAR(lp_magicchar,magic_char)/* local prototypes */static int strwicmp( char *psz1, char *psz2 );static int map_parameter( char *pszParmName);static BOOL set_boolean( BOOL *pb, char *pszParmValue );static int getservicebyname(char *pszServiceName, service *pserviceDest);static void copy_service( service *pserviceDest, service *pserviceSource, BOOL *pcopymapDest );static BOOL service_ok(int iService);static BOOL do_parameter(char *pszParmName, char *pszParmValue);static BOOL do_section(char *pszSectionName);static void init_copymap(service *pservice);/***************************************************************************initialise a service to the defaults***************************************************************************/static void init_service(service *pservice){ memset((char *)pservice,'\0',sizeof(service)); copy_service(pservice,&sDefault,NULL);}/***************************************************************************free the dynamically allocated parts of a service struct***************************************************************************/static void free_service(service *pservice){ int i; if (!pservice) return; if(pservice->szService) DEBUG(5,("free_service: Freeing service %s\n", pservice->szService)); string_free(&pservice->szService); if (pservice->copymap) { free(pservice->copymap); pservice->copymap = NULL; } for (i=0;parm_table[i].label;i++) if ((parm_table[i].type == P_STRING || parm_table[i].type == P_USTRING) && parm_table[i].class == P_LOCAL) string_free((char **)(((char *)pservice) + PTR_DIFF(parm_table[i].ptr,&sDefault)));}/***************************************************************************add a new service to the services array initialising it with the given service***************************************************************************/static int add_a_service(service *pservice, char *name){ int i; service tservice; int num_to_alloc = iNumServices+1; tservice = *pservice; /* it might already exist */ if (name) { i = getservicebyname(name,NULL); if (i >= 0) return(i); } /* find an invalid one */ for (i=0;i<iNumServices;i++) if (!pSERVICE(i)->valid) break; /* if not, then create one */ if (i == iNumServices) { ServicePtrs = (service **)Realloc(ServicePtrs,sizeof(service *)*num_to_alloc); if (ServicePtrs) pSERVICE(iNumServices) = (service *)malloc(sizeof(service)); if (!ServicePtrs || !pSERVICE(iNumServices)) return(-1); iNumServices++; } else free_service(pSERVICE(i)); pSERVICE(i)->valid = True; init_service(pSERVICE(i)); copy_service(pSERVICE(i),&tservice,NULL); if (name) string_set(&iSERVICE(i).szService,name); return(i);}/***************************************************************************add a new home service, with the specified home directory, defaults coming from service ifrom***************************************************************************/BOOL lp_add_home(char *pszHomename, int iDefaultService, char *pszHomedir){ int i = add_a_service(pSERVICE(iDefaultService),pszHomename); if (i < 0) return(False); if (!(*(iSERVICE(i).szPath)) || strequal(iSERVICE(i).szPath,lp_pathname(-1))) string_set(&iSERVICE(i).szPath,pszHomedir); if (!(*(iSERVICE(i).comment))) { pstring comment; slprintf(comment,sizeof(comment)-1, "Home directory of %s",pszHomename); string_set(&iSERVICE(i).comment,comment); } iSERVICE(i).bAvailable = sDefault.bAvailable; iSERVICE(i).bBrowseable = sDefault.bBrowseable; DEBUG(3,("adding home directory %s at %s\n", pszHomename, pszHomedir)); return(True);}/***************************************************************************add a new service, based on an old one***************************************************************************/int lp_add_service(char *pszService, int iDefaultService){ return(add_a_service(pSERVICE(iDefaultService),pszService));}/***********************************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -