1 $Id: UPGRADING,v 1.15 2004/11/13 18:18:03 cinergi Exp $
3 *** In all cases, you should at *least* restart any daemons that look up
4 *** users, such as ssh, nscd, cron, etc. It's best if you simply reboot
5 *** unless you know the complete list of daemons to restart.
6 *** On Linux, try (as root) "lsof /lib/libnss_mysql.so"
9 * No changes are *required* but the [section] names in the config files
10 are now meaningless - remove them to avoid additional parsing overhead
12 * You may want to take advantage of line continuation in the configuration
13 files. See the samples for examples.
16 * This is a maintenance release. No changes are needed on your part.
19 * This is a maintenance release. No changes are needed on your part.
20 If compiling from source, you should note that the new 'configure'
21 option '--with-mysql=DIR' which replaces '--with-mysql-inc' and
25 * If you're running anything other than Linux, you *MUST* update your
26 /etc/libnss-mysql.cfg file! Each operating system now has their own
27 independant password fields. You'll need to add some columns to your
28 queries; Solaris adds 'age' and 'comment'. This is the first version
29 that supports FreeBSD so there's no upgrade concerns here. See the
30 sample configs for details on where to put the new columns.
33 * IMPORTANT: The filenames for the configuration files has changed.
34 There's also been a slight change inside the configuration files.
35 It's MANDATORY that you follow these upgrade procedures.
37 * /etc/nss_mysql.cfg is now /etc/libnss-mysql.cfg
39 * /etc/nss_mysql_root.cfg is now /etc/libnss-mysql-root.cfg
41 * Only one server can be defined in your configuration files.
42 Delete any [secondary] sections and rename your [primary] section
43 to [server]. The [global] section no longer has any meaning. Remove
44 it and any entries (IE 'retry') it has. See the sample configuration
45 files for more information
47 * A "make install" and RPM upgrades will NOT rename your existing
48 configuration files. They will install new default ones under
49 their new names. Overwrite them with your old files.
52 * The /etc/my.cnf section, [libnss_mysql], is no longer supported.
53 Use the new options in /etc/nss_mysql.cfg instead (see below).
55 * The "port" and "socket" options are no longer required options
56 in /etc/nss_mysql.cfg. Remove them from your config to use your
57 MySQL client defaults.
59 * New options in /etc/nss_mysql.cfg (that go in the [primary] and/or
60 [secondary] sections):
61 Option Values Default Description
62 -----------------------------------------------------------------
63 ssl 0|1 0 Use SSL (MySQL 4.x only)?
64 timeout 0+ 3 Connect timeout in seconds
65 compress 0|1 0 Use MySQL compressed protocol?
66 initcmd string "" Execute this statement at connect time
69 This is a maintenance release. No changes are needed on your part.
72 No changes are needed on your part. Simply install the new version!
75 No changes are needed on your part. Simply install the new version!
78 NOTE: This included a lot of redesign/rewriting. It's very possible
79 I broke something that used to work. Please report bugs to me.
81 Debugging support has been removed - for now. The config option
82 'debug_flags' is now ignored.
83 The syslog config options, 'facility' and 'priority' have been removed.
84 Specify the facility at build time using the --with-log-facility
85 option to the 'configure' program.
86 Not that it really eats that many CPU cycles, but I recommend
87 deleting those 3 configuration options from your config file.
89 Since this version supports initgroups, the design of the group
90 database needs to be altered. You *must* alter your database/data
91 in order for groups to work. If you're not using groups, then you can
93 * First, alter your database such that you have a way to associate
94 gids with a username. Check the sample database for the 'grouplist'
95 table to see what I mean.
96 * Second, populate this new table with the appropriate data.
97 * Third, REMOVE the fourth column in your SELECT statements for the
98 getgr* configuration entries (getgrnam, getgrgid, & getgrent)
99 * Fourth, add two new configuration entries for 'memsbygid' and
100 'gidsbymem'. See the new sample configuration file for examples.
101 * Fifth, when you're comfortable you've converted the data, you can
102 remove the fourth column mentioned above from your database - it's no
104 Two select calls will be made when retrieving group information - one
105 for the getgr* call, and another to fetch the list of usernames that
106 are members of that group (using the memsbygid call).
107 The gidsbymem call is used for initgroups support. This allows the
108 system to find out all the groups a user is a member of *much* more
109 efficiently. In fact, some programs ONLY do it this way, and weren't
110 seeing the supplemental groups users were in - until now.
113 First, you should note that the code currently supports only TWO
114 servers. That's easily changed, and I'll probably up it to a
115 default of THREE later, but 0.4 is released with support for TWO.
116 That said, the [server] section in BOTH of your config files must
117 be changed to either [primary] or [secondary] as appropriate. See
118 the sample config files if it's not clear.
121 Simply change any '%d' you have in your configs to '%u'