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