Merge branches 'master' and 'suser_to_priv'
[dragonfly.git] / contrib / openpam / HISTORY
1 OpenPAM Hydrangea                                               2007-12-21
2
3  - ENHANCE: when compiling with GCC, mark up API functions with GCC
4    attributes where appropriate.
5
6  - BUGFIX: fixed numerous warnings uncovered by GCC 4.
7
8  - ENHANCE: building the documentation is now optional.
9
10  - ENHANCE: corrected a number of mistakes and style issues in the
11    build system.
12
13  - ENHANCE: API function arguments are now const where appropriate, to
14    match corresponding changes in the Solaris PAM and Linux-PAM APIs.
15
16  - ENHANCE: corrected a number of C namespace violations.
17
18  - ENHANCE: the module cache has been removed, allowing long-lived
19    applications to pick up module changes.  This also allows multiple
20    threads to use PAM simultaneously (as long as they use separate PAM
21    contexts), since the module cache was the only part of OpenPAM that
22    was not thread-safe.
23 ============================================================================
24 OpenPAM Figwort 2005-06-16
25
26  - BUGFIX: Correct several small signedness and initialization bugs
27    discovered during review by the NetBSD team.
28
29  - BUGFIX: Modify gendoc.pl to sort cross-references in dictionary
30    order within each section.
31
32  - ENHANCE: if a policy specifies a relative module path, prepend the
33    module directory so we never call dlopen(3) with a relative path.
34
35  - ENHANCE: add a pam.conf(5) manual page.
36 ============================================================================
37 OpenPAM Feterita                                                2005-02-01
38
39  - BUGFIX: Correct numerous markup errors, invalid cross-references,
40    and other issues in the manual pages, with kind assistance from
41    Ruslan Ermilov <ru@freebsd.org>.
42
43  - BUGFIX: Avoid multiple evaluation of macro arguments in ENTERX()
44    and RETURNX() macros.
45
46  - BUGFIX: Remove an unnecessary and non-portable pointer cast in
47    pam_get_data(3).
48
49  - BUGFIX: Fix identical typos in PAM_ACCT_EXPIRED case in
50    pam_strerror(3) and gendoc.pl.
51
52  - ENHANCE: Minor overhaul of the autoconf / build system.
53
54  - ENHANCE: Add openpam_free_envlist(3).
55 ============================================================================
56 OpenPAM Eelgrass                                                2004-02-10
57
58  - BUGFIX: Correct array handling bugs in conversation code.
59
60  - BUGFIX: In openpam_ttyconv(3), don't strip trailing linear
61    whitespace from the user's response.
62
63  - BUGFIX: Many constness issues addressed.
64 ============================================================================
65 OpenPAM Dogwood                                                 2003-07-15
66
67  - ENHANCE: Use the GNU autotools.
68
69  - ENHANCE: Constify the msg field in struct pam_message.
70
71  - BUGFIX: Remove left-over debugging output
72
73  - BUGFIX: Avoid side effects in arguments to the FREE() macro
74
75  - ENHANCE: Make openpam_ttyconv(3) use read(2) rather than fgets(3).
76
77  - BUGFIX: Staticize some variables which shouldn't be global.
78
79  - BUGFIX: Correcly anticipate a NULL user in pam_get_user(3).
80
81  - ENHANCE: Various minor documentation improvements.
82
83 Thanks to Dmitry V. Levin <ldv@altlinux.org> for considerable
84 assistance with this release.
85 ============================================================================
86 OpenPAM Digitalis                                               2003-06-01
87
88  - ENHANCE: Completely rewrite the configuration parser and add
89    support for the "include" control flag.
90
91  - ENHANCE: Improve portability to NetBSD, OpenBSD and Linux.
92
93  - ENHANCE: Lots of additional paranoia.
94
95  - BUGFIX: The sample su(1) application dropped privileges before
96    forking instead of after.
97
98  - ENHANCE: Document openpam_log(3).
99
100  - ENHANCE: Other minor documentation fixes.
101
102 Thanks to Dmitry V. Levin <ldv@altlinux.org> for considerable
103 assistance with this release.
104 ============================================================================
105 OpenPAM Dianthus                                                2003-05-02
106
107  - BUGFIX: Initialize some potentially uninitialized variables.
108
109  - BUGFIX: Silence some warnings emitted by gcc -std=iso9899:1999.
110
111  - BUGFIX: In pam_getenv(), return a pointer to the stored variable
112    instead of a freshly allocated copy.
113
114  - ENHANCE: Detect recursion in openpam_borrow_cred()
115
116  - ENHANCE: Make borrowing one's own credentials a no-op.
117
118  - ENHANCE: Further improve debugging support.
119
120  - ENHANCE: Clean up some variable names.
121 ============================================================================
122 OpenPAM Daffodil                                                2003-01-06
123
124  - ENHANCE: Document dependency on <sys/types.h> (for size_t)
125
126  - ENHANCE: Slightly improve error detection in openpam_ttyconv().
127
128  - BUGFIX: Fix several typos in debugging macros.
129 ============================================================================
130 OpenPAM Cyclamen                                                2002-12-12
131
132  - ENHANCE: Improve recursion detection in openpam_dispatch().
133
134  - ENHANCE: Add debugging messages at entry and exit points of most
135    functions.
136
137  - ENHANCE: Fix some minor style issues.
138
139  - BUGFIX: Add default cases to the switches in openpam_log.c.
140
141  - ENHANCE: Add /usr/local/etc/pam.conf to policy search path.
142
143  - BUGFIX: In openpam_ttyconv(3), print the prompt to stdout rather
144    than stderr.
145 ============================================================================
146 OpenPAM Citronella                                              2002-06-30
147
148  - ENHANCE: Add the "binding" control flag (from Solaris 9).
149
150  - ENHANCE: Define struct pam_repository and PAM_REPOSITORY (from
151    Solaris 9).
152
153  - ENHANCE: Flesh out the pam(3) man page.
154
155  - ENHANCE: Add an openpam(3) page with cross-references to all the
156    documented OpenPAM API extensions.
157
158  - ENHANCE: Add a pam_conv(3) man page describing the conversation
159    system.
160
161  - ENHANCE: Improved sample application.
162
163  - ENHANCE: Added sample pam_unix module.
164
165  - BUGFIX: Various documentation nits.
166 ============================================================================
167 OpenPAM Cinquefoil                                              2002-05-24
168
169  - BUGFIX: Various warnings uncovered by gcc 3.1.
170
171  - ENHANCE: Add a null conversation function, openpam_nullconv(3).
172
173  - BUGFIX: Initialize the "other" chain to all zeroes.
174
175  - ENHANCE: Document openpam_ttyconv(3).
176 ============================================================================
177 OpenPAM Cinnamon                                                2002-05-02
178
179  - ENHANCE: Add a null conversation function, openpam_nullconv().
180
181  - BUGFIX: Various markup bugs in the documentation.
182
183  - BUGFIX: Document <security/openpam.h>.
184
185  - BUGFIX: Duplicate expansion of openpam_log() macro arguments.
186
187  - ENHANCE: Restructure the policy-loading code and align our use of
188    the "other" policy with Solaris and Linux-PAM.
189
190  - ENHANCE: Log dlopen() and dlsym() failures.
191
192  - ENHANCE: In openpam_ttyconv(), emit a newline after error and info
193    messages unless the message contains one already.
194
195  - BUGFIX: In pam_vprompt(), initialize the response pointer to NULL
196    so we can detect whether the conversation function touched it.
197 ============================================================================
198 OpenPAM Cineraria                                               2002-04-14
199
200  - BUGFIX: Fix confusion between token and prompt in
201    pam_get_authtok(3).
202
203  - ENHANCE: Improved documentation.
204
205  - ENHANCE: Adopt the same preprocessor tricks that were used in
206    FreeBSD's version of Linux-PAM to simplify static linking without
207    requiring dummy primitives.
208
209  - ENHANCE: Move the policy-loading code out of pam_start.c.
210
211  - BUGFIX: Fix typo in one of the versions of the openpam_log macro.
212
213  - ENHANCE: Add versioning macros.
214 ============================================================================
215 OpenPAM Cinchona                                                2002-04-08
216
217  - ENHANCE: Improved documentation for several API functions.
218
219  - BUGFIX: Fix bug in pam_set_data() that would result in corruption
220    of the module data list.
221
222  - BUGFIX: Allocate the correct amount of memory for the environment
223    list in pam_putenv().
224
225  - ENHANCE: Change pam_get_authtok()'s prototype so the caller can
226    specify what token it wants.  Also introduce PAM_OLDAUTHTOK_PROMPT.
227
228  - BUGFIX: Plug memory leak in pam_get_user() / pam_get_authtok(), and
229    reduce differences between these very similar functions.
230
231  - ENHANCE: Check flags carefully in pam_authenticate() and
232    pam_chauthtok().
233
234  - BUGFIX: Fix bugs in portability code; libpam now builds on NetBSD.
235
236  - ENHANCE: In pam_get_authtok(), if PAM_OLDAUTHTOK is set, we're
237    asked for PAM_AUTHTOK, and we have to prompt the user, prompt her
238    twice and compare the responses.
239
240  - ENHANCE: Add openpam_{borrow,restore}_cred(), for temporarily
241    switching to user credentials.
242
243  - ENHANCE: Add openpam_free_data(), a generic cleanup function for
244    pam_set_data() consumers.
245 ============================================================================
246 OpenPAM Centaury                                                2002-03-14
247
248  - BUGFIX: Add missing #include <string.h> to openpam_log.c.
249
250  - BUGFIX: s/PAM_REINITIALISE_CRED/PAM_REINITIALIZE_CRED/.  XSSO uses
251    the former, but Solaris and Linux-PAM use the latter.
252
253  - BUGFIX: The dynamic loader and the module cache contained a number
254    of bugs which would cause a segmentation fault if pam_start(3) was
255    called again after pam_end(3), as happens in login(1), xdm(1) etc.
256    after a failed login.
257
258  - BUGFIX: Refer to a module by the name used in the policy file, even
259    if the module that was actually loaded was versioned.
260
261  - ENHANCE: Suppress debugging logs, unless compiled with -DDEBUG.
262 ============================================================================
263 OpenPAM Celandine                                               2002-03-05
264
265  - BUGFIX: PAM_TRY_AGAIN is a valid return value for pam_chauthtok().
266
267  - BUGFIX: Run passwd chain twice, first with the PAM_PRELIM_CHECK
268    flag set, then with the PAM_UPDATE_AUTHTOK flag set.
269
270  - BUGFIX: Failure of a "sufficient" module should not terminate the
271    passwd chain if the PAM_PRELIM_CHECK flag is set.
272
273  - BUGFIX: Clear PAM_AUTHTOK after running the service modules.
274
275  - ENHANCE: Prevent applications from specifying the PAM_PRELIM_CHECK
276    or PAM_UPDATE_AUTHTOK flags themselves.
277
278  - BUGFIX: openpam_set_option() did not support changing the value of
279    an existing option.
280
281  - ENHANCE: Add support for module versioning.  OpenPAM will prefer a
282    module with the same version number as the library itself to one
283    with no version number at all.
284 ============================================================================
285 OpenPAM Cantaloupe                                              2002-02-22
286
287  - BUGFIX: The proper use of PAM_SYMBOL_ERR is to indicate an invalid
288    argument to pam_[gs]et_item(3), not to indicate dlsym(3) failures.
289
290  - ENHANCE: Add in-line documentation in most source files, and a Perl
291    script that generates mdoc code from that.
292
293  - BUGFIX: The environment list was not properly NULL-terminated.
294
295  - ENHANCE: Allow the PAM_AUTHTOK_PROMPT item to override the prompt
296    specified by the module.
297
298  - BUGFIX: PAM_NUM_ITEMS was set too low.  It has been moved to
299    pam_constants.h to avoid it going stale again.
300
301  - ENHANCE: Move all code related to static modules into a separate
302    file.
303
304  - ENHANCE: openpam_ttyconv() now masks most signals while prompting the
305    user, and supports setting a timeout (which defaults to off).
306
307  - BUGFIX: Some manual pages referenced XSSO even though they
308    documented OpenPAM-specific functions.
309
310  - ENHANCE: Added openpam_get_option() and openpam_set_option().
311
312  - ENHANCE: openpam_get_authtok() now respects the echo_pass,
313    try_first_pass, and use_first_pass options.
314 ============================================================================
315 OpenPAM Caliopsis                                               2002-02-13
316
317 Fixed a number of bugs in the previous release, including:
318   - a number of bugs in and related to pam_[gs]et_item(3)
319   - off-by-one bug in pam_start.c would trim last character off certain
320     configuration lines
321   - incorrect ordering of an array in openpam_load.c would cause service
322     module functions to get mixed up
323   - missing 'continue' in openpam_dispatch.c caused successes to be
324     counted as failures
325 ============================================================================
326 OpenPAM Calamite                                                2002-02-09
327
328 First (beta) release.
329 ============================================================================
330 $Id: HISTORY 409 2007-12-21 11:38:50Z des $