Tactics for troubleshooting:
make realclean # Purge existing objects make debug-dbx # Set make environment for debug make # Rebuild
This requires familiarity with C and a source debugger.
Get the developer kit to help.
make realclean make debug-files make cp /etc/passwd etc_passwd cp /etc/shadow etc_shadow; chown my-name etc_shadow
Npasswd can also directly modify the NIS files on the NIS master. If you need to test that functionality, here is the setup:
mkdir -p yp/`domainname` # Make test NIS map area cp /var/yp/`domainname`/passwd.* yp/`domainname` # Copy passwd files
Npasswd home page: http://uts.cc.utexas.edu/~clyde/npasswd
Send bug reports to the address above. Use the bug report template BugReport.html.
The more information provided in the bug report, the better chance of getting a fix. Please remember that I have a limited variety of UNIX platforms available for testing.
Support for npasswd will be done on a time-available basis.
Send bug fixes to the bug report address above.
The preferred form is a context diff between the distribution and the modified sources (e.g. diff -c dist-src new-src).
Do not make changes to files which are generated from .SH files. The next time that Configure is run, those changes will be lost. Modify (and submit changes to) the .SH file instead.
Changes to the Configure script are more complicated. It is built from many files (see below), so changes should be made to those sources. If you need to make serious modifications to Configure, obtain the developer kit, modify the metaconfig units and submit those changes. Minor changes can be reported by a context diff on Configure.
Functionality enhancements to npasswd are encouraged. Send the changes (in the form for bug fixes) to the bug report address. Improvements deemed sufficiently useful will be incorporated into a patch set and the next minor release.
Of particular interest are modifications to make npasswd work on additional UNIX platforms.
This overview of the npasswd internals supplements the ultimate documentation of the entrails - the source code.
User layer | User interface
& Configuration sub-system |
||
---|---|---|---|
Password check library |
|
|
|
|
|||
Method layer |
|
|
|
|
|
|
|
Utility layer |
|
Npasswd design themes:
The npasswd kit is built using the dist package - a set of tools to ease the construction and maintenance of portable software.
The central component of which is the Configure script generator, metaconfig. This program scans source files, feature files (units), and builds a Configure script. Configure probes the system, requests information from the user, and saves the results for use in customizing the package.
The end-user reads the README file, runs the Configure script (which is self-documented), and then make.
The jmake program is used to build Makefiles. It reads a Jmakefile and produces a Makefile.SH which takes the configuration data from Configure, to produce a customized Makefile.
Changes to Configure are really changes to metaconfig units. Changes to a Makefile are really changes to the Jmakefile source.
The end-user package does not include the dist sources (Jmakefiles, metaconfig units) and glue files. These make up the Npasswd Developers Kit.
Verification suites are provided for various components of npasswd. These C programs and shell scripts are usually named (or in a directory named) TestSuite. If you change any part of npasswd which has a test suite, run that suite to verify that your changes didn't break the basic functionality. If you add new functionality, modify the test suite and submit the changes.
For serious work on npasswd, the developers kit is a necessity.
The developers kit is available at:
Document id @(#) Support.html 1.3
Version 1.3
Last modified 07/20/98
Clyde Hoover