遵循以下最佳实践的项目将能够自愿的自我认证,并显示他们已经实现了核心基础设施计划(OpenSSF)徽章。 显示详细资料
[](https://www.bestpractices.dev/projects/200)
<a href="https://www.bestpractices.dev/projects/200"><img src="https://www.bestpractices.dev/projects/200/badge"></a>
Samba is the File, Print and Active Directory Server for Unix
https://wiki.samba.org/index.php/Contribute explains how to create good patches for Samba, and where to submit them (samba-technical ML or github PR)
https://wiki.samba.org/index.php/Contribute directs contribubtors to our use of Signed-off-by at https://wiki.samba.org/index.php/CodeReview#commit_message_tags and the Samba copyright policy https://www.samba.org/samba/devel/copyright-policy.html (a DCO)
The Samba Team has a a document "How to do Samba: Nicely" which provides guidance in community behaviour in a practical way, based on our over 20 years of expereience in Free Software development.
https://wiki.samba.org/index.php/How_to_do_Samba:_Nicely
While not every part of Samba is deeply understood by all team members, the Samba team is large and diverse and could pick up and carry on even if important folks were 'hired by Google'.
https://www.samba.org/samba/team/
We describe our support for old Samba versions at https://wiki.samba.org/index.php/Samba_Release_Planning and describe any changes users need to address in the WHATSNEW file with every release. For example for 4.8.0rc1 https://download.samba.org/pub/samba/rc/samba-4.8.0rc1.WHATSNEW.txt
Bugzilla is used, see https://bugzilla.samba.org
Credit is given routinely. See for example https://www.samba.org/samba/security/CVE-2017-14746.html
Our full security process is documented publicly here: https://wiki.samba.org/index.php/Samba_Security_Process
Our coding style is at https://git.samba.org/?p=samba.git;a=blob;f=README.Coding
Samba uses waf as described at https://wiki.samba.org/index.php/Waf and waf honours these variables.
Builds with --enable-debug include these in the installed binaries
Samba uses a full build system, not simple make files.
The build is reproducible except when the source directory differs, per https://bugzilla.samba.org/show_bug.cgi?id=13198
We use the unix standard make install (which wraps waf)
DESTDIR is honoured for make install.
Tests are a self-contained part of Samba and the normal build system produces the test environment if build with --enable-selftest.
Except for Heimdal (for which we maintain a fork) third party components are kept under a top level directory third_party and are exact sources trees without any local patching permitted. This allows updates by simply unpacking the new version into that directory and committing to git.
警告:需要更长的理由。
https://wiki.samba.org/index.php/The_Samba_Selftest_System links to details of how Samba uses autobuild.py, the script run before every check-in. Developers are e-mailed on failure.
We are maximally strict where possible, on a per-subsystem basis. We routinely investigate new warning flags to enable and use them with -Werror to ensure they remain warning-free.
Constrained by needing to support NTLM but NTLMv2 is not subject to a known serious weakness.
https://git.samba.org/?p=samba.git;a=blob;f=lib/crypto/REQUIREMENTS;hb=HEAD
SMB Encryption is a new feature, not supported by many servers, therefore we can't break existing networks by requiring it to be specifically enabled. We do however follow this criteria for LDAP however.
We accept what GnuTLS provides, which includes TLS 1.2
The default for 'tls verify peer' is as_strict_as_possible
https://www.samba.org/samba/docs/current/man-html/smb.conf.5.html#TLSVERIFYPEER
TLS is on the LDAP port and if used is used first-up.
All releases are GPG signed. We describe that the uncompressed tarball is signed and list the key, for example see: https://lists.samba.org/archive/samba-announce/2018/000430.html
Releases are marked with signed tags in the repo: https://git.samba.org/?p=samba.git;a=tag;h=b38e700ca874829b39d656b448d60ad37cd540b4
We use compiler flags like -fstack-protector.
https://git.samba.org/?p=samba.git;a=blob;f=buildtools/wafsamba/samba_autoconf.py;h=cc08e0d5c3db07e5978a3bd21eea7da9e35859d2;hb=refs/heads/master#l666
Coverity is very good, it knows about many things, particularly common vulnerabilities.
后退