sun microsystems Systems Architecture Committee _________________________________________________________________ Subject: EOL of NIS+ Submitted by: Sanjay K. Agrawal File: PSARC/2000/370/opinion.ms Date: October 18th, 2000 Committee: Terrence Miller, Ralph Campbell, John Daniel- son, Joseph Kowalski, Tim Marsland, Rich McDougall. Steering Committee: soesc@eng 1. Summary This project proposes to announce that NIS+ support will be discontinued in some future minor release of Solaris and to reclassify the NIS+ commands as obsolete. 2. Decision & Precedence Information The project is approved as specified in [1] (and in this document) but as modified by the required technical changes listed in Appendix A below. The EOL notification(s) may first appear in any release of Solaris. Note: the approval of this case does not authorize the actual removal of NIS+ support from Solaris. That removal will need to be the subject of another case. That case will depend on at least: PSARC/2000/311 NIS+/LDAP Migration PSARC/2000/363 Native LDAP phase II LSARC/2001/101 Bundling of LDAP Directory Server 3. Interfaces PSARC/2000/370 Copyright 2000 Sun Microsystems - 2 - The project obsoletes the following interfaces. _________________________________________________________________ | Interfaces Obsoleted | |_____________________|________________|________________________| |Interface | Classification| Comments | |_____________________|________________|________________________| |nisaddent | Obsolete | User Command | |niscat | Obsolete | User Command | |nischgrp | Obsolete | User Command | |nischmod | Obsolete | User Command | |nischown | Obsolete | User Command | |nischttl | Obsolete | User Command | |nisdefaults | Obsolete | User Command | |niserror | Obsolete | User Command | |nisgrep | Obsolete | User Command | |nisgrpadm | Obsolete | User Command | |nisln | Obsolete | User Command | |nisls | Obsolete | User Command | |nismatch | Obsolete | User Command | |nismkdir | Obsolete | User Command | |nisopaccess | Obsolete | User Command | |nispasswd | Obsolete | User Command | |nisrm | Obsolete | User Command | |nisrmdir | Obsolete | User Command | |nisshowcache | Obsolete | User Command | |nistbladm | Obsolete | User Command | |nistest | Obsolete | User Command | |aliasadm | Obsolete | Administrative Command| |nis_cachemgr | Obsolete | Administrative Command| |nisaddcred | Obsolete | Administrative Command| |nisaddent | Obsolete | Administrative Command| |nisauthconf | Obsolete | Administrative Command| |nisbackup | Obsolete | Administrative Command| |nisclient | Obsolete | Administrative Command| |nisd | Obsolete | Administrative Command| |nisd_resolv | Obsolete | Administrative Command| |nisinit | Obsolete | Administrative Command| |nislog | Obsolete | Administrative Command| |nisping | Obsolete | Administrative Command| |nispopulate | Obsolete | Administrative Command| |nisprefadm | Obsolete | Administrative Command| |nisrestore | Obsolete | Administrative Command| |nisserver | Obsolete | Administrative Command| |nissetup | Obsolete | Administrative Command| |nisshowcache | Obsolete | Administrative Command| |nisstat | Obsolete | Administrative Command| |nisupdkeys | Obsolete | Administrative Command| |sysidns | Obsolete | Administrative Command| |rpc.nisd | Obsolete | NIS+ Daemon | |rpc.nisd_resolv | Obsolete | NIS+ Daemon | |rpc.nispasswdd | Obsolete | NIS+ Daemon | |nis_add | Obsolete | Programming API | |nis_add_entry | Obsolete | Programming API | |_____________________|________________|________________________| PSARC/2000/370 Copyright 2000 Sun Microsystems - 3 - _________________________________________________________________ | Interfaces Obsoleted | |_____________________|________________|________________________| |Interface | Classification| Comments | |_____________________|________________|________________________| |nis_addmember | Obsolete | Programming API | |nis_checkpoint | Obsolete | Programming API | |nis_clone_object | Obsolete | Programming API | |nis_creategroup | Obsolete | Programming API | |nis_destroy_object | Obsolete | Programming API | |nis_destroygroup | Obsolete | Programming API | |nis_dir_cmp | Obsolete | Programming API | |nis_domain_of | Obsolete | Programming API | |nis_error | Obsolete | Programming API | |nis_first_entry | Obsolete | Programming API | |nis_freenames | Obsolete | Programming API | |nis_freeresult | Obsolete | Programming API | |nis_freeservlist | Obsolete | Programming API | |nis_freetags | Obsolete | Programming API | |nis_getnames | Obsolete | Programming API | |nis_getservlist | Obsolete | Programming API | |nis_groups | Obsolete | Programming API | |nis_ismember | Obsolete | Programming API | |nis_leaf_of | Obsolete | Programming API | |nis_lerror | Obsolete | Programming API | |nis_list | Obsolete | Programming API | |nis_local_directory | Obsolete | Programming API | |nis_local_group | Obsolete | Programming API | |nis_local_host | Obsolete | Programming API | |nis_local_names | Obsolete | Programming API | |nis_local_principal | Obsolete | Programming API | |nis_lookup | Obsolete | Programming API | |nis_mkdir | Obsolete | Programming API | |nis_modify | Obsolete | Programming API | |nis_modify_entry | Obsolete | Programming API | |nis_name_of | Obsolete | Programming API | |nis_names | Obsolete | Programming API | |nis_next_entry | Obsolete | Programming API | |nis_objects | Obsolete | Programming API | |nis_perror | Obsolete | Programming API | |nis_ping | Obsolete | Programming API | |nis_print_group_entry| Obsolete | Programming API | |nis_print_object | Obsolete | Programming API | |nis_remove | Obsolete | Programming API | |nis_remove_entry | Obsolete | Programming API | |nis_removemember | Obsolete | Programming API | |nis_rmdir | Obsolete | Programming API | |nis_server | Obsolete | Programming API | |nis_servstate | Obsolete | Programming API | |nis_sperrno | Obsolete | Programming API | |nis_sperror | Obsolete | Programming API | |nis_sperror_r | Obsolete | Programming API | |nis_stats | Obsolete | Programming API | |nis_subr | Obsolete | Programming API | |_____________________|________________|________________________| PSARC/2000/370 Copyright 2000 Sun Microsystems - 4 - _________________________________________________________________ | Interfaces Obsoleted | |_____________________|________________|________________________| |Interface | Classification| Comments | |_____________________|________________|________________________| |nis_tables | Obsolete | Programming API | |nis_verifygroup | Obsolete | Programming API | |_____________________|________________|________________________| 4. Opinion The main issue raised for this case was that of providing adequate notice and support to existing NIS+ users. The requirement to announce the upcoming EOL of NIS+ as soon as possible in order to head off new adoption of the technology was seen as conflicting with the requirement not to panic existing users. The committee decided that a three step schedule: 1. adequate notice 2. availability of all replacement technology 3. actual EOL would satisfy both requirements and imposed technical changes needed to obtain such a schedule. See [2] for opposing views. 5. Minority Opinion(s) None. 6. Advisory Information When business pressures require the announcement of an EOL before the replacement is ready, it becomes neccessary to pre-announce the replacement technology. Given the obvious risks of any pre-announcement of software, that situation should be avoided. 7. Appendices 7.1. Appendix A: Technical Changes Required The following changes are required. 1. The obsolescence warning must be placed in the man page for every NIS+ command. 2 The warning text must make it clear that NIS+ sup- port will not be removed until some time after a PSARC/2000/370 Copyright 2000 Sun Microsystems - 5 - full replacement is available. (see [2] message 29) 7.2. Appendix B: Technical Changes Advised None 7.3. Appendix C: Reference Material File names below are relative to PSARC/2000/370. 1. Original proposal. File incept.materials/psarc.txt 2. Email discussion. File: mail PSARC/2000/370 Copyright 2000 Sun Microsystems