Sparks/Reno/Duckwater/Winchester Overview
The overall restructuring of and improvements to naming services has been split up into four separate projects:
- Sparks
- Sparks focuses on name service switch infrastructure
- Reno
- Reno focuses on naming service interoperability with PAM, Single sign on issues and other related issues
- Duckwater
- Duckwater focuses on naming service approachability issues, both as it related to other OpenSolaris projects, such as NWAM but also on approachability as it applies to tools and management issues of naming services
- Winchester
- Winchester focuses on Interoperabiltiy issues, initially on interoperability issues with Microsoft Active Directory.
Graphically it looks like:

Naming Services as it existed in Solaris 10 (pre s10u4) and previous
releases of Solaris.
Pre-sparks (snv_50 and s10u4) the name service switch exists as a set of public APIs and Sun private interfaces.
The public are the getXbyYs, /etc/nsswitch.conf and various other configuration files and the private interfaces include most or all of the underlying internal interfaces. The other components in the equation are multiple sets of one off command line tools to manage the various naming service backend components. These tools include tools for yp, such as ypinit, tools for NIS+, such as nisinit, tools for LDAP naming services, such as ldapclient, ldapaddent and so forth.
Graphically the name service switch looks like:

Note: The "private" interfaces in the private colored "PAM & nsswitch" blocks refer to the private interfaces in nsswitch, that PAM uses to process naming requests.