Merge ~vorlon/ubuntu/+source/pam:merge into ubuntu/+source/pam:debian/sid
- Git
- lp:~vorlon/ubuntu/+source/pam
- merge
- Merge into debian/sid
Proposed by
Steve Langasek
Status: | Approved |
---|---|
Approved by: | Nish Aravamudan |
Approved revision: | 56be0589c4360b577fcaaca8245090271a5427ea |
Proposed branch: | ~vorlon/ubuntu/+source/pam:merge |
Merge into: | ubuntu/+source/pam:debian/sid |
Diff against target: |
9799 lines (+9138/-0) (has conflicts) 25 files modified
debian/changelog (+2079/-0) debian/control (+15/-0) debian/libpam-modules-bin.install (+5/-0) debian/libpam-modules.manpages (+4/-0) debian/libpam-modules.postinst (+15/-0) debian/libpam0g.postinst (+48/-0) debian/local/common-session (+8/-0) debian/local/common-session-noninteractive (+8/-0) debian/local/pam-auth-update (+18/-0) debian/local/pam-auth-update.8 (+3/-0) debian/patches-applied/cve-2015-3238.patch (+6/-0) debian/patches-applied/extrausers.patch (+6567/-0) debian/patches-applied/pam_motd-legal-notice (+86/-0) debian/patches-applied/pam_umask_usergroups_from_login.defs.patch (+127/-0) debian/patches-applied/series (+11/-0) debian/patches-applied/ubuntu-rlimit_nice_correction (+17/-0) debian/patches-applied/update-motd-manpage-ref (+28/-0) debian/po/eu.po (+6/-0) debian/po/fi.po (+3/-0) debian/po/ro.po (+3/-0) debian/po/tr.po (+3/-0) debian/po/vi.po (+3/-0) debian/po/zh_CN.po (+3/-0) debian/rules (+5/-0) debian/update-motd.5 (+67/-0) Conflict in debian/changelog Conflict in debian/control Conflict in debian/libpam-modules-bin.install Conflict in debian/libpam-modules.manpages Conflict in debian/libpam-modules.postinst Conflict in debian/libpam0g.postinst Conflict in debian/local/common-session Conflict in debian/local/common-session-noninteractive Conflict in debian/local/pam-auth-update Conflict in debian/local/pam-auth-update.8 Conflict in debian/patches-applied/cve-2015-3238.patch Conflict in debian/patches-applied/series Conflict in debian/po/eu.po Conflict in debian/po/fi.po Conflict in debian/po/ro.po Conflict in debian/po/tr.po Conflict in debian/po/vi.po Conflict in debian/po/zh_CN.po Conflict in debian/rules |
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
git-ubuntu developers | Pending | ||
Review via email: mp+341556@code.launchpad.net |
Commit message
Description of the change
Resubmit of the now-abandoned <https:/
To post a comment you must log in.
Unmerged commits
- 56be058... by Steve Langasek
-
Fix service restart handling to integrate with systemd instead of upstart.
- d83e877... by Steve Langasek
-
Fix references to /var/run in update-motd.5. LP: #1571864
- e416d7e... by Steve Langasek
-
document bugs fixed upstream
- e8b0ebb... by Steve Langasek
-
fix up VCS fields
- b6efc2b... by Steve Langasek
-
update-maintainer
- 5c284b3... by Steve Langasek
-
reconstruct-
changelog - 5754c62... by Steve Langasek
-
merge-changelogs
- 763552a... by Steve Langasek
-
* debian/
patches- applied/ cve-2015- 3238.patch: removed manpage changes
so they don't get regenerated during build and cause a multiarch
installation issue. (LP: #1558114) - ef05976... by Steve Langasek
-
- don't notify about xdm restarts during a release-upgrade
- b2595de... by Steve Langasek
-
po file cleanups
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | diff --git a/debian/changelog b/debian/changelog | |||
2 | index ff9229d..89101d7 100644 | |||
3 | --- a/debian/changelog | |||
4 | +++ b/debian/changelog | |||
5 | @@ -1,3 +1,4 @@ | |||
6 | 1 | <<<<<<< debian/changelog | ||
7 | 1 | pam (1.1.8-3.7) unstable; urgency=medium | 2 | pam (1.1.8-3.7) unstable; urgency=medium |
8 | 2 | 3 | ||
9 | 3 | * Non-maintainer upload. | 4 | * Non-maintainer upload. |
10 | @@ -7,6 +8,61 @@ pam (1.1.8-3.7) unstable; urgency=medium | |||
11 | 7 | enabling non-default configs without prompting the admin. (LP: #1192719) | 8 | enabling non-default configs without prompting the admin. (LP: #1192719) |
12 | 8 | 9 | ||
13 | 9 | -- Timo Aaltonen <tjaalton@debian.org> Fri, 02 Feb 2018 16:57:43 +0200 | 10 | -- Timo Aaltonen <tjaalton@debian.org> Fri, 02 Feb 2018 16:57:43 +0200 |
14 | 11 | ======= | ||
15 | 12 | pam (1.1.8-3.6ubuntu1) bionic; urgency=medium | ||
16 | 13 | |||
17 | 14 | * Merge with Debian unstable. | ||
18 | 15 | - Fixes unescaped brace in pam_getenv regex. LP: #1538284. | ||
19 | 16 | - Fixes pam_namespace defaults for compatibility with dash. LP: #1081323. | ||
20 | 17 | * Remaining changes: | ||
21 | 18 | - debian/control: have libpam-modules recommend update-motd package | ||
22 | 19 | - debian/libpam-modules.postinst: Add PATH to /etc/environment if it's | ||
23 | 20 | not present there or in /etc/security/pam_env.conf. (should send to | ||
24 | 21 | Debian). | ||
25 | 22 | - debian/libpam0g.postinst: only ask questions during update-manager when | ||
26 | 23 | there are non-default services running. | ||
27 | 24 | - debian/libpam0g.postinst: check if gdm is actually running before | ||
28 | 25 | trying to reload it. | ||
29 | 26 | - debian/libpam0g.postinst: the init script for 'samba' is now named | ||
30 | 27 | 'smbd' in Ubuntu, so fix the restart handling. | ||
31 | 28 | - debian/patches-applied/ubuntu-rlimit_nice_correction: Explicitly | ||
32 | 29 | initialise RLIMIT_NICE rather than relying on the kernel limits. | ||
33 | 30 | - debian/patches-applied/pam_umask_usergroups_from_login.defs.patch: | ||
34 | 31 | Deprecate pam_unix's explicit "usergroups" option and instead read it | ||
35 | 32 | from /etc/login.def's "USERGROUP_ENAB" option if umask is only defined | ||
36 | 33 | there. This restores compatibility with the pre-PAM behaviour of login. | ||
37 | 34 | - debian/patches-applied/pam_motd-legal-notice: display the contents of | ||
38 | 35 | /etc/legal once, then set a flag in the user's homedir to prevent | ||
39 | 36 | showing it again. | ||
40 | 37 | - debian/update-motd.5, debian/libpam-modules.manpages: add a manpage | ||
41 | 38 | for update-motd, with some best practices and notes of explanation. | ||
42 | 39 | - debian/patches/update-motd-manpage-ref: add a reference in pam_motd(8) | ||
43 | 40 | to update-motd(5) | ||
44 | 41 | - debian/local/common-session{,-noninteractive}: Enable pam_umask by | ||
45 | 42 | default, now that the umask setting is gone from /etc/profile. | ||
46 | 43 | - debian/local/pam-auth-update: Add the new md5sums for pam_umask addition. | ||
47 | 44 | - debian/patches-applied/extrausers.patch: Add a pam_extrausers module | ||
48 | 45 | that is basically just a copy of pam_unix but looks at | ||
49 | 46 | /var/lib/extrausers/{group,passwd,shadow} instead of /etc/ | ||
50 | 47 | - debian/libpam-modules-bin.install: install the helper binaries for | ||
51 | 48 | pam_extrausers to /sbin | ||
52 | 49 | - debian/rules: Make pam_extrausers_chkpwd sguid shadow | ||
53 | 50 | - pam-configs/mkhomedir: Added a config for pam_mkhomedir, disabled | ||
54 | 51 | by default. | ||
55 | 52 | - don't notify about xdm restarts during a release-upgrade | ||
56 | 53 | - debian/patches-applied/cve-2015-3238.patch: removed manpage changes | ||
57 | 54 | so they don't get regenerated during build and cause a multiarch | ||
58 | 55 | installation issue. | ||
59 | 56 | * Dropped changes, included in Debian: | ||
60 | 57 | - Build-depend on libfl-dev. | ||
61 | 58 | - debian/patches-applied/pam-limits-nofile-fd-setsize-cap: cap the default | ||
62 | 59 | soft nofile limit read from pid 1 to FD_SETSIZE. | ||
63 | 60 | * Fix references to /var/run in update-motd.5. LP: #1571864 | ||
64 | 61 | * Fix service restart handling to integrate with systemd instead of | ||
65 | 62 | upstart. | ||
66 | 63 | |||
67 | 64 | -- Steve Langasek <steve.langasek@ubuntu.com> Thu, 26 Oct 2017 23:23:18 -0700 | ||
68 | 65 | >>>>>>> debian/changelog | ||
69 | 10 | 66 | ||
70 | 11 | pam (1.1.8-3.6) unstable; urgency=medium | 67 | pam (1.1.8-3.6) unstable; urgency=medium |
71 | 12 | 68 | ||
72 | @@ -75,6 +131,77 @@ pam (1.1.8-3.3) unstable; urgency=low | |||
73 | 75 | 131 | ||
74 | 76 | -- Laurent Bigonville <bigon@debian.org> Wed, 18 May 2016 02:04:29 +0200 | 132 | -- Laurent Bigonville <bigon@debian.org> Wed, 18 May 2016 02:04:29 +0200 |
75 | 77 | 133 | ||
76 | 134 | <<<<<<< debian/changelog | ||
77 | 135 | ======= | ||
78 | 136 | pam (1.1.8-3.2ubuntu3) artful; urgency=medium | ||
79 | 137 | |||
80 | 138 | * No-change rebuild to pick up -fPIE compiler default in static | ||
81 | 139 | libraries | ||
82 | 140 | |||
83 | 141 | -- Steve Langasek <steve.langasek@ubuntu.com> Fri, 21 Apr 2017 20:53:23 +0000 | ||
84 | 142 | |||
85 | 143 | pam (1.1.8-3.2ubuntu2) xenial; urgency=medium | ||
86 | 144 | |||
87 | 145 | * debian/patches-applied/cve-2015-3238.patch: removed manpage changes | ||
88 | 146 | so they don't get regenerated during build and cause a multiarch | ||
89 | 147 | installation issue. (LP: #1558114) | ||
90 | 148 | |||
91 | 149 | -- Marc Deslauriers <marc.deslauriers@ubuntu.com> Wed, 16 Mar 2016 13:34:02 -0400 | ||
92 | 150 | |||
93 | 151 | pam (1.1.8-3.2ubuntu1) xenial; urgency=medium | ||
94 | 152 | |||
95 | 153 | * Merge from Debian unstable. Remaining changes: | ||
96 | 154 | - debian/libpam-modules.postinst: Add PATH to /etc/environment if it's | ||
97 | 155 | not present there or in /etc/security/pam_env.conf. (should send to | ||
98 | 156 | Debian). | ||
99 | 157 | - debian/libpam0g.postinst: only ask questions during update-manager when | ||
100 | 158 | there are non-default services running. | ||
101 | 159 | - debian/libpam0g.postinst: check if gdm is actually running before | ||
102 | 160 | trying to reload it. | ||
103 | 161 | - debian/libpam0g.postinst: the init script for 'samba' is now named | ||
104 | 162 | 'smbd' in Ubuntu, so fix the restart handling. | ||
105 | 163 | - Change Vcs-Bzr to point at the Ubuntu branch. | ||
106 | 164 | - debian/patches-applied/series: Ubuntu patches are as below ... | ||
107 | 165 | - debian/patches-applied/ubuntu-rlimit_nice_correction: Explicitly | ||
108 | 166 | initialise RLIMIT_NICE rather than relying on the kernel limits. | ||
109 | 167 | - debian/patches-applied/pam_umask_usergroups_from_login.defs.patch: | ||
110 | 168 | Deprecate pam_unix's explicit "usergroups" option and instead read it | ||
111 | 169 | from /etc/login.def's "USERGROUP_ENAB" option if umask is only defined | ||
112 | 170 | there. This restores compatibility with the pre-PAM behaviour of login. | ||
113 | 171 | - debian/patches-applied/pam_motd-legal-notice: display the contents of | ||
114 | 172 | /etc/legal once, then set a flag in the user's homedir to prevent | ||
115 | 173 | showing it again. | ||
116 | 174 | - debian/update-motd.5, debian/libpam-modules.manpages: add a manpage | ||
117 | 175 | for update-motd, with some best practices and notes of explanation. | ||
118 | 176 | - debian/patches/update-motd-manpage-ref: add a reference in pam_motd(8) | ||
119 | 177 | to update-motd(5) | ||
120 | 178 | - debian/local/common-session{,-noninteractive}: Enable pam_umask by | ||
121 | 179 | default, now that the umask setting is gone from /etc/profile. | ||
122 | 180 | - debian/local/pam-auth-update: Add the new md5sums for pam_umask addition. | ||
123 | 181 | - Build-depend on libfl-dev in addition to flex, for cross-building | ||
124 | 182 | support. | ||
125 | 183 | - Add /usr/local/games to PATH. | ||
126 | 184 | - Adjust debian/patches-applied/update-motd to write to | ||
127 | 185 | /run/motd.dynamic, as sysvinit/ssh/login in Debian have been changed | ||
128 | 186 | to use this file and no longer links /etc/motd to /var/run/motd. | ||
129 | 187 | - debian/patches-applied/pam_umask_usergroups_from_login.defs.patch: | ||
130 | 188 | include patch to autogenerated manpage file | ||
131 | 189 | - debian/patches-applied/pam-loginuid-in-containers: pam_loginuid: | ||
132 | 190 | Update patch with follow-up changes to loginuid.c | ||
133 | 191 | - debian/patches-applied/extrausers.patch: Add a pam_extrausers module | ||
134 | 192 | that is basically just a copy of pam_unix but looks at | ||
135 | 193 | /var/lib/extrausers/{group,passwd,shadow} instead of /etc/ | ||
136 | 194 | - debian/libpam-modules-bin.install: install the helper binaries for | ||
137 | 195 | pam_extrausers to /sbin | ||
138 | 196 | - debian/rules: Make pam_extrausers_chkpwd sguid shadow | ||
139 | 197 | - debian/patches-applied/extrausers.patch: Ship pre-generated man page | ||
140 | 198 | - debian/patches-applied/pam-limits-nofile-fd-setsize-cap: cap the default | ||
141 | 199 | soft nofile limit read from pid 1 to FD_SETSIZE. | ||
142 | 200 | - debian/control: have libpam-modules recommend update-motd package | ||
143 | 201 | |||
144 | 202 | -- Marc Deslauriers <marc.deslauriers@ubuntu.com> Wed, 16 Mar 2016 09:50:51 -0400 | ||
145 | 203 | |||
146 | 204 | >>>>>>> debian/changelog | ||
147 | 78 | pam (1.1.8-3.2) unstable; urgency=medium | 205 | pam (1.1.8-3.2) unstable; urgency=medium |
148 | 79 | 206 | ||
149 | 80 | * Non-maintainer upload. | 207 | * Non-maintainer upload. |
150 | @@ -83,6 +210,79 @@ pam (1.1.8-3.2) unstable; urgency=medium | |||
151 | 83 | 210 | ||
152 | 84 | -- Tianon Gravi <tianon@debian.org> Wed, 06 Jan 2016 15:53:31 -0800 | 211 | -- Tianon Gravi <tianon@debian.org> Wed, 06 Jan 2016 15:53:31 -0800 |
153 | 85 | 212 | ||
154 | 213 | <<<<<<< debian/changelog | ||
155 | 214 | ======= | ||
156 | 215 | pam (1.1.8-3.1ubuntu3) vivid; urgency=medium | ||
157 | 216 | |||
158 | 217 | * d/applied-patches/pam-limits-nofile-fd-setsize-cap: cap the default | ||
159 | 218 | soft nofile limit read from pid 1 to FD_SETSIZE. | ||
160 | 219 | |||
161 | 220 | -- Robie Basak <robie.basak@ubuntu.com> Wed, 22 Apr 2015 08:55:24 +0000 | ||
162 | 221 | |||
163 | 222 | pam (1.1.8-3.1ubuntu2) vivid; urgency=medium | ||
164 | 223 | |||
165 | 224 | * debian/control: | ||
166 | 225 | - have libpam-modules recommend update-motd package | ||
167 | 226 | + while libpam-modules provides pam_motd, which does dynamically | ||
168 | 227 | generate the motd from /etc/update-motd.d on login, hundreds of | ||
169 | 228 | users have asked in the past few years how they might "force" | ||
170 | 229 | a MOTD update; this is provided by /usr/sbin/update-motd | ||
171 | 230 | in the tiny update-motd package (already in main); recommend | ||
172 | 231 | this package | ||
173 | 232 | |||
174 | 233 | -- Dustin Kirkland <kirkland@ubuntu.com> Tue, 11 Nov 2014 12:49:14 -0600 | ||
175 | 234 | |||
176 | 235 | pam (1.1.8-3.1ubuntu1) vivid; urgency=low | ||
177 | 236 | |||
178 | 237 | * Merge from Debian unstable. Remaining changes: | ||
179 | 238 | - debian/libpam-modules.postinst: Add PATH to /etc/environment if it's | ||
180 | 239 | not present there or in /etc/security/pam_env.conf. (should send to | ||
181 | 240 | Debian). | ||
182 | 241 | - debian/libpam0g.postinst: only ask questions during update-manager when | ||
183 | 242 | there are non-default services running. | ||
184 | 243 | - debian/libpam0g.postinst: check if gdm is actually running before | ||
185 | 244 | trying to reload it. | ||
186 | 245 | - debian/libpam0g.postinst: the init script for 'samba' is now named | ||
187 | 246 | 'smbd' in Ubuntu, so fix the restart handling. | ||
188 | 247 | - Change Vcs-Bzr to point at the Ubuntu branch. | ||
189 | 248 | - debian/patches-applied/series: Ubuntu patches are as below ... | ||
190 | 249 | - debian/patches-applied/ubuntu-rlimit_nice_correction: Explicitly | ||
191 | 250 | initialise RLIMIT_NICE rather than relying on the kernel limits. | ||
192 | 251 | - debian/patches-applied/pam_umask_usergroups_from_login.defs.patch: | ||
193 | 252 | Deprecate pam_unix's explicit "usergroups" option and instead read it | ||
194 | 253 | from /etc/login.def's "USERGROUP_ENAB" option if umask is only defined | ||
195 | 254 | there. This restores compatibility with the pre-PAM behaviour of login. | ||
196 | 255 | - debian/patches-applied/pam_motd-legal-notice: display the contents of | ||
197 | 256 | /etc/legal once, then set a flag in the user's homedir to prevent | ||
198 | 257 | showing it again. | ||
199 | 258 | - debian/update-motd.5, debian/libpam-modules.manpages: add a manpage | ||
200 | 259 | for update-motd, with some best practices and notes of explanation. | ||
201 | 260 | - debian/patches/update-motd-manpage-ref: add a reference in pam_motd(8) | ||
202 | 261 | to update-motd(5) | ||
203 | 262 | - debian/local/common-session{,-noninteractive}: Enable pam_umask by | ||
204 | 263 | default, now that the umask setting is gone from /etc/profile. | ||
205 | 264 | - debian/local/pam-auth-update: Add the new md5sums for pam_umask addition. | ||
206 | 265 | - Build-depend on libfl-dev in addition to flex, for cross-building | ||
207 | 266 | support. | ||
208 | 267 | - Add /usr/local/games to PATH. | ||
209 | 268 | - Adjust debian/patches-applied/update-motd to write to | ||
210 | 269 | /run/motd.dynamic, as sysvinit/ssh/login in Debian have been changed | ||
211 | 270 | to use this file and no longer links /etc/motd to /var/run/motd. | ||
212 | 271 | - debian/patches-applied/pam_umask_usergroups_from_login.defs.patch: | ||
213 | 272 | include patch to autogenerated manpage file | ||
214 | 273 | - debian/patches-applied/pam-loginuid-in-containers: pam_loginuid: | ||
215 | 274 | Update patch with follow-up changes to loginuid.c | ||
216 | 275 | - debian/patches-applied/extrausers.patch: Add a pam_extrausers module | ||
217 | 276 | that is basically just a copy of pam_unix but looks at | ||
218 | 277 | /var/lib/extrausers/{group,passwd,shadow} instead of /etc/ | ||
219 | 278 | - debian/libpam-modules-bin.install: install the helper binaries for | ||
220 | 279 | pam_extrausers to /sbin | ||
221 | 280 | - debian/rules: Make pam_extrausers_chkpwd sguid shadow | ||
222 | 281 | - debian/patches-applied/extrausers.patch: Ship pre-generated man page | ||
223 | 282 | |||
224 | 283 | -- Michael Vogt <michael.vogt@ubuntu.com> Mon, 27 Oct 2014 09:57:52 +0100 | ||
225 | 284 | |||
226 | 285 | >>>>>>> debian/changelog | ||
227 | 86 | pam (1.1.8-3.1) unstable; urgency=high | 286 | pam (1.1.8-3.1) unstable; urgency=high |
228 | 87 | 287 | ||
229 | 88 | * Non-maintainer upload by the Security Team. | 288 | * Non-maintainer upload by the Security Team. |
230 | @@ -93,6 +293,81 @@ pam (1.1.8-3.1) unstable; urgency=high | |||
231 | 93 | 293 | ||
232 | 94 | -- Michael Gilbert <mgilbert@debian.org> Sat, 09 Aug 2014 09:50:42 +0000 | 294 | -- Michael Gilbert <mgilbert@debian.org> Sat, 09 Aug 2014 09:50:42 +0000 |
233 | 95 | 295 | ||
234 | 296 | <<<<<<< debian/changelog | ||
235 | 297 | ======= | ||
236 | 298 | pam (1.1.8-3ubuntu4) utopic; urgency=medium | ||
237 | 299 | |||
238 | 300 | * No-change rebuild to get debug symbols on all architectures. | ||
239 | 301 | |||
240 | 302 | -- Brian Murray <brian@ubuntu.com> Tue, 21 Oct 2014 12:32:23 -0700 | ||
241 | 303 | |||
242 | 304 | pam (1.1.8-3ubuntu3) utopic; urgency=medium | ||
243 | 305 | |||
244 | 306 | * debian/patches-applied/extrausers.patch: | ||
245 | 307 | - Ship pre-generated man page | ||
246 | 308 | |||
247 | 309 | -- Michael Terry <mterry@ubuntu.com> Tue, 22 Jul 2014 14:13:31 -0400 | ||
248 | 310 | |||
249 | 311 | pam (1.1.8-3ubuntu2) utopic; urgency=medium | ||
250 | 312 | |||
251 | 313 | * debian/patches-applied/extrausers.patch: Add a pam_extrausers module | ||
252 | 314 | that is basically just a copy of pam_unix but looks at | ||
253 | 315 | /var/lib/extrausers/{group,passwd,shadow} instead of /etc/ | ||
254 | 316 | * debian/libpam-modules-bin.install: install the helper binaries for | ||
255 | 317 | pam_extrausers to /sbin | ||
256 | 318 | * debian/rules: Make pam_extrausers_chkpwd sguid shadow | ||
257 | 319 | |||
258 | 320 | -- Michael Terry <mterry@ubuntu.com> Fri, 18 Jul 2014 14:52:08 -0400 | ||
259 | 321 | |||
260 | 322 | pam (1.1.8-3ubuntu1) utopic; urgency=medium | ||
261 | 323 | |||
262 | 324 | [ Stéphane Graber ] | ||
263 | 325 | * Merge from Debian unstable, remaining changes: | ||
264 | 326 | - debian/libpam-modules.postinst: Add PATH to /etc/environment if it's | ||
265 | 327 | not present there or in /etc/security/pam_env.conf. (should send to | ||
266 | 328 | Debian). | ||
267 | 329 | - debian/libpam0g.postinst: only ask questions during update-manager when | ||
268 | 330 | there are non-default services running. | ||
269 | 331 | - debian/libpam0g.postinst: check if gdm is actually running before | ||
270 | 332 | trying to reload it. | ||
271 | 333 | - debian/libpam0g.postinst: the init script for 'samba' is now named | ||
272 | 334 | 'smbd' in Ubuntu, so fix the restart handling. | ||
273 | 335 | - Change Vcs-Bzr to point at the Ubuntu branch. | ||
274 | 336 | - debian/patches-applied/series: Ubuntu patches are as below ... | ||
275 | 337 | - debian/patches-applied/ubuntu-rlimit_nice_correction: Explicitly | ||
276 | 338 | initialise RLIMIT_NICE rather than relying on the kernel limits. | ||
277 | 339 | - debian/patches-applied/pam_umask_usergroups_from_login.defs.patch: | ||
278 | 340 | Deprecate pam_unix's explicit "usergroups" option and instead read it | ||
279 | 341 | from /etc/login.def's "USERGROUP_ENAB" option if umask is only defined | ||
280 | 342 | there. This restores compatibility with the pre-PAM behaviour of login. | ||
281 | 343 | - debian/patches-applied/pam_motd-legal-notice: display the contents of | ||
282 | 344 | /etc/legal once, then set a flag in the user's homedir to prevent | ||
283 | 345 | showing it again. | ||
284 | 346 | - debian/update-motd.5, debian/libpam-modules.manpages: add a manpage | ||
285 | 347 | for update-motd, with some best practices and notes of explanation. | ||
286 | 348 | - debian/patches/update-motd-manpage-ref: add a reference in pam_motd(8) | ||
287 | 349 | to update-motd(5) | ||
288 | 350 | - debian/local/common-session{,-noninteractive}: Enable pam_umask by | ||
289 | 351 | default, now that the umask setting is gone from /etc/profile. | ||
290 | 352 | - debian/local/pam-auth-update: Add the new md5sums for pam_umask addition. | ||
291 | 353 | - Build-depend on libfl-dev in addition to flex, for cross-building | ||
292 | 354 | support. | ||
293 | 355 | - Add /usr/local/games to PATH. | ||
294 | 356 | - Adjust debian/patches-applied/update-motd to write to | ||
295 | 357 | /run/motd.dynamic, as sysvinit/ssh/login in Debian have been changed | ||
296 | 358 | to use this file and no longer links /etc/motd to /var/run/motd. | ||
297 | 359 | - debian/patches-applied/pam_umask_usergroups_from_login.defs.patch: | ||
298 | 360 | include patch to autogenerated manpage file | ||
299 | 361 | - debian/patches-applied/pam-loginuid-in-containers: pam_loginuid: | ||
300 | 362 | Update patch with follow-up changes to loginuid.c | ||
301 | 363 | |||
302 | 364 | [ Timo Aaltonen ] | ||
303 | 365 | * pam-configs/mkhomedir: Added a config for pam_mkhomedir, disabled | ||
304 | 366 | by default. (LP: #557013) | ||
305 | 367 | |||
306 | 368 | -- Stéphane Graber <stgraber@ubuntu.com> Fri, 02 May 2014 14:59:10 -0400 | ||
307 | 369 | |||
308 | 370 | >>>>>>> debian/changelog | ||
309 | 96 | pam (1.1.8-3) unstable; urgency=low | 371 | pam (1.1.8-3) unstable; urgency=low |
310 | 97 | 372 | ||
311 | 98 | * debian/rules: On hurd, link libpam explicitly with -lpthread since glibc | 373 | * debian/rules: On hurd, link libpam explicitly with -lpthread since glibc |
312 | @@ -109,6 +384,57 @@ pam (1.1.8-2) unstable; urgency=medium | |||
313 | 109 | 384 | ||
314 | 110 | -- Steve Langasek <vorlon@debian.org> Thu, 13 Feb 2014 15:02:00 -0800 | 385 | -- Steve Langasek <vorlon@debian.org> Thu, 13 Feb 2014 15:02:00 -0800 |
315 | 111 | 386 | ||
316 | 387 | <<<<<<< debian/changelog | ||
317 | 388 | ======= | ||
318 | 389 | pam (1.1.8-1ubuntu2) trusty; urgency=medium | ||
319 | 390 | |||
320 | 391 | * debian/patches-applied/pam-loginuid-in-containers: pam_loginuid: | ||
321 | 392 | Update patch with follow-up changes to loginuid.c | ||
322 | 393 | |||
323 | 394 | -- Stéphane Graber <stgraber@ubuntu.com> Fri, 31 Jan 2014 22:11:02 +0000 | ||
324 | 395 | |||
325 | 396 | pam (1.1.8-1ubuntu1) trusty; urgency=medium | ||
326 | 397 | |||
327 | 398 | * Merge from Debian unstable, remaining changes: | ||
328 | 399 | - debian/libpam-modules.postinst: Add PATH to /etc/environment if it's | ||
329 | 400 | not present there or in /etc/security/pam_env.conf. (should send to | ||
330 | 401 | Debian). | ||
331 | 402 | - debian/libpam0g.postinst: only ask questions during update-manager when | ||
332 | 403 | there are non-default services running. | ||
333 | 404 | - debian/libpam0g.postinst: check if gdm is actually running before | ||
334 | 405 | trying to reload it. | ||
335 | 406 | - debian/libpam0g.postinst: the init script for 'samba' is now named | ||
336 | 407 | 'smbd' in Ubuntu, so fix the restart handling. | ||
337 | 408 | - Change Vcs-Bzr to point at the Ubuntu branch. | ||
338 | 409 | - debian/patches-applied/series: Ubuntu patches are as below ... | ||
339 | 410 | - debian/patches-applied/ubuntu-rlimit_nice_correction: Explicitly | ||
340 | 411 | initialise RLIMIT_NICE rather than relying on the kernel limits. | ||
341 | 412 | - debian/patches-applied/pam_umask_usergroups_from_login.defs.patch: | ||
342 | 413 | Deprecate pam_unix's explicit "usergroups" option and instead read it | ||
343 | 414 | from /etc/login.def's "USERGROUP_ENAB" option if umask is only defined | ||
344 | 415 | there. This restores compatibility with the pre-PAM behaviour of login. | ||
345 | 416 | - debian/patches-applied/pam_motd-legal-notice: display the contents of | ||
346 | 417 | /etc/legal once, then set a flag in the user's homedir to prevent | ||
347 | 418 | showing it again. | ||
348 | 419 | - debian/update-motd.5, debian/libpam-modules.manpages: add a manpage | ||
349 | 420 | for update-motd, with some best practices and notes of explanation. | ||
350 | 421 | - debian/patches/update-motd-manpage-ref: add a reference in pam_motd(8) | ||
351 | 422 | to update-motd(5) | ||
352 | 423 | - debian/local/common-session{,-noninteractive}: Enable pam_umask by | ||
353 | 424 | default, now that the umask setting is gone from /etc/profile. | ||
354 | 425 | - debian/local/pam-auth-update: Add the new md5sums for pam_umask addition. | ||
355 | 426 | - Build-depend on libfl-dev in addition to flex, for cross-building | ||
356 | 427 | support. | ||
357 | 428 | - Add /usr/local/games to PATH. | ||
358 | 429 | - Adjust debian/patches-applied/update-motd to write to | ||
359 | 430 | /run/motd.dynamic, as sysvinit/ssh/login in Debian have been changed | ||
360 | 431 | to use this file and no longer links /etc/motd to /var/run/motd. | ||
361 | 432 | * debian/patches-applied/pam_umask_usergroups_from_login.defs.patch: include | ||
362 | 433 | patch to autogenerated manpage file | ||
363 | 434 | |||
364 | 435 | -- Steve Langasek <steve.langasek@ubuntu.com> Thu, 16 Jan 2014 02:40:41 +0000 | ||
365 | 436 | |||
366 | 437 | >>>>>>> debian/changelog | ||
367 | 112 | pam (1.1.8-1) unstable; urgency=medium | 438 | pam (1.1.8-1) unstable; urgency=medium |
368 | 113 | 439 | ||
369 | 114 | * New upstream release. | 440 | * New upstream release. |
370 | @@ -142,6 +468,50 @@ pam (1.1.8-1) unstable; urgency=medium | |||
371 | 142 | 468 | ||
372 | 143 | -- Steve Langasek <vorlon@debian.org> Thu, 16 Jan 2014 00:38:42 +0000 | 469 | -- Steve Langasek <vorlon@debian.org> Thu, 16 Jan 2014 00:38:42 +0000 |
373 | 144 | 470 | ||
374 | 471 | <<<<<<< debian/changelog | ||
375 | 472 | ======= | ||
376 | 473 | pam (1.1.3-11ubuntu1) trusty; urgency=medium | ||
377 | 474 | |||
378 | 475 | * Merge from Debian unstable, remaining changes: | ||
379 | 476 | - debian/libpam-modules.postinst: Add PATH to /etc/environment if it's | ||
380 | 477 | not present there or in /etc/security/pam_env.conf. (should send to | ||
381 | 478 | Debian). | ||
382 | 479 | - debian/libpam0g.postinst: only ask questions during update-manager when | ||
383 | 480 | there are non-default services running. | ||
384 | 481 | - debian/libpam0g.postinst: check if gdm is actually running before | ||
385 | 482 | trying to reload it. | ||
386 | 483 | - debian/libpam0g.postinst: the init script for 'samba' is now named | ||
387 | 484 | 'smbd' in Ubuntu, so fix the restart handling. | ||
388 | 485 | - Change Vcs-Bzr to point at the Ubuntu branch. | ||
389 | 486 | - debian/patches-applied/series: Ubuntu patches are as below ... | ||
390 | 487 | - debian/patches-applied/ubuntu-rlimit_nice_correction: Explicitly | ||
391 | 488 | initialise RLIMIT_NICE rather than relying on the kernel limits. | ||
392 | 489 | - debian/patches-applied/pam_umask_usergroups_from_login.defs.patch: | ||
393 | 490 | Deprecate pam_unix's explicit "usergroups" option and instead read it | ||
394 | 491 | from /etc/login.def's "USERGROUP_ENAB" option if umask is only defined | ||
395 | 492 | there. This restores compatibility with the pre-PAM behaviour of login. | ||
396 | 493 | - debian/patches-applied/pam_motd-legal-notice: display the contents of | ||
397 | 494 | /etc/legal once, then set a flag in the user's homedir to prevent | ||
398 | 495 | showing it again. | ||
399 | 496 | - debian/update-motd.5, debian/libpam-modules.manpages: add a manpage | ||
400 | 497 | for update-motd, with some best practices and notes of explanation. | ||
401 | 498 | - debian/patches/update-motd-manpage-ref: add a reference in pam_motd(8) | ||
402 | 499 | to update-motd(5) | ||
403 | 500 | - debian/local/common-session{,-noninteractive}: Enable pam_umask by | ||
404 | 501 | default, now that the umask setting is gone from /etc/profile. | ||
405 | 502 | - debian/local/pam-auth-update: Add the new md5sums for pam_umask addition. | ||
406 | 503 | - Build-depend on libfl-dev in addition to flex, for cross-building | ||
407 | 504 | support. | ||
408 | 505 | - Add /usr/local/games to PATH. | ||
409 | 506 | - Adjust debian/patches-applied/update-motd to write to | ||
410 | 507 | /run/motd.dynamic, as sysvinit/ssh/login in Debian have been changed | ||
411 | 508 | to use this file and no longer links /etc/motd to /var/run/motd. | ||
412 | 509 | * Dropped changes, merged in Debian: | ||
413 | 510 | - Disable libaudit for stage1 bootstrap. | ||
414 | 511 | |||
415 | 512 | -- Steve Langasek <steve.langasek@ubuntu.com> Mon, 13 Jan 2014 21:41:05 -0800 | ||
416 | 513 | |||
417 | 514 | >>>>>>> debian/changelog | ||
418 | 145 | pam (1.1.3-11) unstable; urgency=low | 515 | pam (1.1.3-11) unstable; urgency=low |
419 | 146 | 516 | ||
420 | 147 | [ Wookey ] | 517 | [ Wookey ] |
421 | @@ -155,6 +525,49 @@ pam (1.1.3-11) unstable; urgency=low | |||
422 | 155 | 525 | ||
423 | 156 | -- Steve Langasek <vorlon@debian.org> Tue, 14 Jan 2014 03:33:31 +0000 | 526 | -- Steve Langasek <vorlon@debian.org> Tue, 14 Jan 2014 03:33:31 +0000 |
424 | 157 | 527 | ||
425 | 528 | <<<<<<< debian/changelog | ||
426 | 529 | ======= | ||
427 | 530 | pam (1.1.3-10ubuntu1) trusty; urgency=low | ||
428 | 531 | |||
429 | 532 | * Merge from Debian unstable, remaining changes: | ||
430 | 533 | - debian/libpam-modules.postinst: Add PATH to /etc/environment if it's | ||
431 | 534 | not present there or in /etc/security/pam_env.conf. (should send to | ||
432 | 535 | Debian). | ||
433 | 536 | - debian/libpam0g.postinst: only ask questions during update-manager when | ||
434 | 537 | there are non-default services running. | ||
435 | 538 | - debian/libpam0g.postinst: check if gdm is actually running before | ||
436 | 539 | trying to reload it. | ||
437 | 540 | - debian/libpam0g.postinst: the init script for 'samba' is now named | ||
438 | 541 | 'smbd' in Ubuntu, so fix the restart handling. | ||
439 | 542 | - Change Vcs-Bzr to point at the Ubuntu branch. | ||
440 | 543 | - debian/patches-applied/series: Ubuntu patches are as below ... | ||
441 | 544 | - debian/patches-applied/ubuntu-rlimit_nice_correction: Explicitly | ||
442 | 545 | initialise RLIMIT_NICE rather than relying on the kernel limits. | ||
443 | 546 | - debian/patches-applied/pam_umask_usergroups_from_login.defs.patch: | ||
444 | 547 | Deprecate pam_unix's explicit "usergroups" option and instead read it | ||
445 | 548 | from /etc/login.def's "USERGROUP_ENAB" option if umask is only defined | ||
446 | 549 | there. This restores compatibility with the pre-PAM behaviour of login. | ||
447 | 550 | - debian/patches-applied/pam_motd-legal-notice: display the contents of | ||
448 | 551 | /etc/legal once, then set a flag in the user's homedir to prevent | ||
449 | 552 | showing it again. | ||
450 | 553 | - debian/update-motd.5, debian/libpam-modules.manpages: add a manpage | ||
451 | 554 | for update-motd, with some best practices and notes of explanation. | ||
452 | 555 | - debian/patches/update-motd-manpage-ref: add a reference in pam_motd(8) | ||
453 | 556 | to update-motd(5) | ||
454 | 557 | - debian/local/common-session{,-noninteractive}: Enable pam_umask by | ||
455 | 558 | default, now that the umask setting is gone from /etc/profile. | ||
456 | 559 | - debian/local/pam-auth-update: Add the new md5sums for pam_umask addition. | ||
457 | 560 | - Build-depend on libfl-dev in addition to flex, for cross-building | ||
458 | 561 | support. | ||
459 | 562 | - Add /usr/local/games to PATH. | ||
460 | 563 | - Disable libaudit for stage1 bootstrap. | ||
461 | 564 | - Adjust debian/patches-applied/update-motd to write to | ||
462 | 565 | /run/motd.dynamic, as sysvinit/ssh/login in Debian have been changed | ||
463 | 566 | to use this file and no longer links /etc/motd to /var/run/motd. | ||
464 | 567 | |||
465 | 568 | -- Steve Langasek <steve.langasek@ubuntu.com> Sun, 20 Oct 2013 18:21:34 -0700 | ||
466 | 569 | |||
467 | 570 | >>>>>>> debian/changelog | ||
468 | 158 | pam (1.1.3-10) unstable; urgency=low | 571 | pam (1.1.3-10) unstable; urgency=low |
469 | 159 | 572 | ||
470 | 160 | * Fix pam-auth-update handling of trailing blank lines in the fields of | 573 | * Fix pam-auth-update handling of trailing blank lines in the fields of |
471 | @@ -176,6 +589,59 @@ pam (1.1.3-9) unstable; urgency=low | |||
472 | 176 | 589 | ||
473 | 177 | -- Steve Langasek <vorlon@debian.org> Tue, 12 Feb 2013 23:06:30 +0000 | 590 | -- Steve Langasek <vorlon@debian.org> Tue, 12 Feb 2013 23:06:30 +0000 |
474 | 178 | 591 | ||
475 | 592 | <<<<<<< debian/changelog | ||
476 | 593 | ======= | ||
477 | 594 | pam (1.1.3-8ubuntu3) saucy; urgency=low | ||
478 | 595 | |||
479 | 596 | * Adjust debian/patches-applied/update-motd to write to /run/motd.dynamic, | ||
480 | 597 | as sysvinit/ssh/login in Debian have been changed to use this file and | ||
481 | 598 | no longer links /etc/motd to /var/run/motd. | ||
482 | 599 | |||
483 | 600 | -- Steve Langasek <steve.langasek@ubuntu.com> Sat, 18 May 2013 00:07:43 -0500 | ||
484 | 601 | |||
485 | 602 | pam (1.1.3-8ubuntu2) raring; urgency=low | ||
486 | 603 | |||
487 | 604 | * Disable libaudit for stage1 bootstrap (LP: #1126404) | ||
488 | 605 | |||
489 | 606 | -- Wookey <wookey@wookware.org> Fri, 15 Feb 2013 12:45:27 +0000 | ||
490 | 607 | |||
491 | 608 | pam (1.1.3-8ubuntu1) raring; urgency=low | ||
492 | 609 | |||
493 | 610 | * Merge from Debian unstable, remaining changes: | ||
494 | 611 | - debian/libpam-modules.postinst: Add PATH to /etc/environment if it's | ||
495 | 612 | not present there or in /etc/security/pam_env.conf. (should send to | ||
496 | 613 | Debian). | ||
497 | 614 | - debian/libpam0g.postinst: only ask questions during update-manager when | ||
498 | 615 | there are non-default services running. | ||
499 | 616 | - debian/libpam0g.postinst: check if gdm is actually running before | ||
500 | 617 | trying to reload it. | ||
501 | 618 | - debian/libpam0g.postinst: the init script for 'samba' is now named | ||
502 | 619 | 'smbd' in Ubuntu, so fix the restart handling. | ||
503 | 620 | - Change Vcs-Bzr to point at the Ubuntu branch. | ||
504 | 621 | - debian/patches-applied/series: Ubuntu patches are as below ... | ||
505 | 622 | - debian/patches-applied/ubuntu-rlimit_nice_correction: Explicitly | ||
506 | 623 | initialise RLIMIT_NICE rather than relying on the kernel limits. | ||
507 | 624 | - debian/patches-applied/pam_umask_usergroups_from_login.defs.patch: | ||
508 | 625 | Deprecate pam_unix' explicit "usergroups" option and instead read it | ||
509 | 626 | from /etc/login.def's "USERGROUP_ENAB" option if umask is only defined | ||
510 | 627 | there. This restores compatibility with the pre-PAM behaviour of login. | ||
511 | 628 | - debian/patches-applied/pam_motd-legal-notice: display the contents of | ||
512 | 629 | /etc/legal once, then set a flag in the user's homedir to prevent | ||
513 | 630 | showing it again. | ||
514 | 631 | - debian/update-motd.5, debian/libpam-modules.manpages: add a manpage | ||
515 | 632 | for update-motd, with some best practices and notes of explanation. | ||
516 | 633 | - debian/patches/update-motd-manpage-ref: add a reference in pam_motd(8) | ||
517 | 634 | to update-motd(5) | ||
518 | 635 | - debian/local/common-session{,-noninteractive}: Enable pam_umask by | ||
519 | 636 | default, now that the umask setting is gone from /etc/profile. | ||
520 | 637 | - debian/local/pam-auth-update: Add the new md5sums for pam_umask addition. | ||
521 | 638 | - Build-depend on libfl-dev in addition to flex, for cross-building | ||
522 | 639 | support. | ||
523 | 640 | - Add /usr/local/games to PATH. LP: #110287. | ||
524 | 641 | |||
525 | 642 | -- Steve Langasek <steve.langasek@ubuntu.com> Mon, 11 Feb 2013 22:08:44 -0800 | ||
526 | 643 | |||
527 | 644 | >>>>>>> debian/changelog | ||
528 | 179 | pam (1.1.3-8) unstable; urgency=low | 645 | pam (1.1.3-8) unstable; urgency=low |
529 | 180 | 646 | ||
530 | 181 | * Confirm NMU for bug #611136; thanks to Michael Gilbert. | 647 | * Confirm NMU for bug #611136; thanks to Michael Gilbert. |
531 | @@ -212,6 +678,58 @@ pam (1.1.3-7.1) unstable; urgency=low | |||
532 | 212 | 678 | ||
533 | 213 | -- Michael Gilbert <mgilbert@debian.org> Sun, 29 Apr 2012 02:23:26 -0400 | 679 | -- Michael Gilbert <mgilbert@debian.org> Sun, 29 Apr 2012 02:23:26 -0400 |
534 | 214 | 680 | ||
535 | 681 | <<<<<<< debian/changelog | ||
536 | 682 | ======= | ||
537 | 683 | pam (1.1.3-7ubuntu3) quantal; urgency=low | ||
538 | 684 | |||
539 | 685 | [ Nathan Williams ] | ||
540 | 686 | * Add /usr/local/games to PATH. LP: #110287. | ||
541 | 687 | |||
542 | 688 | -- Steve Langasek <steve.langasek@ubuntu.com> Tue, 03 Jul 2012 06:55:25 +0000 | ||
543 | 689 | |||
544 | 690 | pam (1.1.3-7ubuntu2) precise; urgency=low | ||
545 | 691 | |||
546 | 692 | * No-change rebuild with gzip 1.4-1ubuntu2 to get multiarch-clean | ||
547 | 693 | compression of manpages. LP: #871083. | ||
548 | 694 | |||
549 | 695 | -- Steve Langasek <steve.langasek@ubuntu.com> Wed, 08 Feb 2012 17:15:39 -0800 | ||
550 | 696 | |||
551 | 697 | pam (1.1.3-7ubuntu1) precise; urgency=low | ||
552 | 698 | |||
553 | 699 | * Merge from Debian unstable, remaining changes: | ||
554 | 700 | - debian/libpam-modules.postinst: Add PATH to /etc/environment if it's | ||
555 | 701 | not present there or in /etc/security/pam_env.conf. (should send to | ||
556 | 702 | Debian). | ||
557 | 703 | - debian/libpam0g.postinst: only ask questions during update-manager when | ||
558 | 704 | there are non-default services running. | ||
559 | 705 | - debian/libpam0g.postinst: check if gdm is actually running before | ||
560 | 706 | trying to reload it. | ||
561 | 707 | - debian/libpam0g.postinst: the init script for 'samba' is now named | ||
562 | 708 | 'smbd' in Ubuntu, so fix the restart handling. | ||
563 | 709 | - Change Vcs-Bzr to point at the Ubuntu branch. | ||
564 | 710 | - debian/patches-applied/series: Ubuntu patches are as below ... | ||
565 | 711 | - debian/patches-applied/ubuntu-rlimit_nice_correction: Explicitly | ||
566 | 712 | initialise RLIMIT_NICE rather than relying on the kernel limits. | ||
567 | 713 | - debian/patches-applied/pam_umask_usergroups_from_login.defs.patch: | ||
568 | 714 | Deprecate pam_unix' explicit "usergroups" option and instead read it | ||
569 | 715 | from /etc/login.def's "USERGROUP_ENAB" option if umask is only defined | ||
570 | 716 | there. This restores compatibility with the pre-PAM behaviour of login. | ||
571 | 717 | - debian/patches-applied/pam_motd-legal-notice: display the contents of | ||
572 | 718 | /etc/legal once, then set a flag in the user's homedir to prevent | ||
573 | 719 | showing it again. | ||
574 | 720 | - debian/update-motd.5, debian/libpam-modules.manpages: add a manpage | ||
575 | 721 | for update-motd, with some best practices and notes of explanation. | ||
576 | 722 | - debian/patches/update-motd-manpage-ref: add a reference in pam_motd(8) | ||
577 | 723 | to update-motd(5) | ||
578 | 724 | - debian/local/common-session{,-noninteractive}: Enable pam_umask by | ||
579 | 725 | default, now that the umask setting is gone from /etc/profile. | ||
580 | 726 | - debian/local/pam-auth-update: Add the new md5sums for pam_umask addition. | ||
581 | 727 | - Build-depend on libfl-dev in addition to flex, for cross-building | ||
582 | 728 | support. | ||
583 | 729 | |||
584 | 730 | -- Steve Langasek <steve.langasek@ubuntu.com> Sat, 28 Jan 2012 11:36:07 -0800 | ||
585 | 731 | |||
586 | 732 | >>>>>>> debian/changelog | ||
587 | 215 | pam (1.1.3-7) unstable; urgency=low | 733 | pam (1.1.3-7) unstable; urgency=low |
588 | 216 | 734 | ||
589 | 217 | * Updated debconf translations: | 735 | * Updated debconf translations: |
590 | @@ -239,6 +757,52 @@ pam (1.1.3-7) unstable; urgency=low | |||
591 | 239 | 757 | ||
592 | 240 | -- Steve Langasek <vorlon@debian.org> Sat, 28 Jan 2012 10:57:49 -0800 | 758 | -- Steve Langasek <vorlon@debian.org> Sat, 28 Jan 2012 10:57:49 -0800 |
593 | 241 | 759 | ||
594 | 760 | <<<<<<< debian/changelog | ||
595 | 761 | ======= | ||
596 | 762 | pam (1.1.3-6ubuntu1) precise; urgency=low | ||
597 | 763 | |||
598 | 764 | * Merge from Debian unstable. Remaining changes: | ||
599 | 765 | - debian/libpam-modules.postinst: Add PATH to /etc/environment if it's | ||
600 | 766 | not present there or in /etc/security/pam_env.conf. (should send to | ||
601 | 767 | Debian). | ||
602 | 768 | - debian/libpam0g.postinst: only ask questions during update-manager when | ||
603 | 769 | there are non-default services running. | ||
604 | 770 | - debian/libpam0g.postinst: check if gdm is actually running before | ||
605 | 771 | trying to reload it. | ||
606 | 772 | - debian/libpam0g.postinst: the init script for 'samba' is now named | ||
607 | 773 | 'smbd' in Ubuntu, so fix the restart handling. | ||
608 | 774 | - Change Vcs-Bzr to point at the Ubuntu branch. | ||
609 | 775 | - debian/patches-applied/series: Ubuntu patches are as below ... | ||
610 | 776 | - debian/patches-applied/ubuntu-rlimit_nice_correction: Explicitly | ||
611 | 777 | initialise RLIMIT_NICE rather than relying on the kernel limits. | ||
612 | 778 | - debian/patches-applied/pam_umask_usergroups_from_login.defs.patch: | ||
613 | 779 | Deprecate pam_unix' explicit "usergroups" option and instead read it | ||
614 | 780 | from /etc/login.def's "USERGROUP_ENAB" option if umask is only defined | ||
615 | 781 | there. This restores compatibility with the pre-PAM behaviour of login. | ||
616 | 782 | - debian/patches-applied/pam_motd-legal-notice: display the contents of | ||
617 | 783 | /etc/legal once, then set a flag in the user's homedir to prevent | ||
618 | 784 | showing it again. | ||
619 | 785 | - debian/update-motd.5, debian/libpam-modules.manpages: add a manpage | ||
620 | 786 | for update-motd, with some best practices and notes of explanation. | ||
621 | 787 | - debian/patches/update-motd-manpage-ref: add a reference in pam_motd(8) | ||
622 | 788 | to update-motd(5) | ||
623 | 789 | - debian/local/common-session{,-noninteractive}: Enable pam_umask by | ||
624 | 790 | default, now that the umask setting is gone from /etc/profile. | ||
625 | 791 | - debian/local/pam-auth-update: Add the new md5sums for pam_umask addition. | ||
626 | 792 | * Dropped changes, included in Debian: | ||
627 | 793 | - debian/patches-applied/update-motd: set a sane umask before calling | ||
628 | 794 | run-parts, and restore the old mask afterwards, so /run/motd gets | ||
629 | 795 | consistent permissions. | ||
630 | 796 | - debian/patches-applied/update-motd: new module option for pam_motd, | ||
631 | 797 | 'noupdate', which suppresses the call to run-parts /etc/update-motd.d. | ||
632 | 798 | - debian/libpam0g.postinst: drop kdm from the list of services to | ||
633 | 799 | restart. | ||
634 | 800 | * Build-depend on libfl-dev in addition to flex, for cross-building | ||
635 | 801 | support. | ||
636 | 802 | |||
637 | 803 | -- Steve Langasek <steve.langasek@ubuntu.com> Mon, 07 Nov 2011 21:15:00 -0800 | ||
638 | 804 | |||
639 | 805 | >>>>>>> debian/changelog | ||
640 | 242 | pam (1.1.3-6) unstable; urgency=low | 806 | pam (1.1.3-6) unstable; urgency=low |
641 | 243 | 807 | ||
642 | 244 | * debian/patches-applied/hurd_no_setfsuid: we don't want to check all | 808 | * debian/patches-applied/hurd_no_setfsuid: we don't want to check all |
643 | @@ -266,6 +830,62 @@ pam (1.1.3-6) unstable; urgency=low | |||
644 | 266 | 830 | ||
645 | 267 | -- Steve Langasek <vorlon@debian.org> Sun, 06 Nov 2011 19:43:14 -0800 | 831 | -- Steve Langasek <vorlon@debian.org> Sun, 06 Nov 2011 19:43:14 -0800 |
646 | 268 | 832 | ||
647 | 833 | <<<<<<< debian/changelog | ||
648 | 834 | ======= | ||
649 | 835 | pam (1.1.3-5ubuntu2) precise; urgency=low | ||
650 | 836 | |||
651 | 837 | * Rebuild with dpkg 1.16.1.1ubuntu2 to restore large file support. | ||
652 | 838 | |||
653 | 839 | -- Colin Watson <cjwatson@ubuntu.com> Tue, 01 Nov 2011 16:59:55 -0400 | ||
654 | 840 | |||
655 | 841 | pam (1.1.3-5ubuntu1) precise; urgency=low | ||
656 | 842 | |||
657 | 843 | * Merge from Debian unstable. Remaining changes: | ||
658 | 844 | - debian/libpam-modules.postinst: Add PATH to /etc/environment if it's | ||
659 | 845 | not present there or in /etc/security/pam_env.conf. (should send to | ||
660 | 846 | Debian). | ||
661 | 847 | - debian/libpam0g.postinst: only ask questions during update-manager when | ||
662 | 848 | there are non-default services running. | ||
663 | 849 | - Change Vcs-Bzr to point at the Ubuntu branch. | ||
664 | 850 | - debian/patches-applied/series: Ubuntu patches are as below ... | ||
665 | 851 | - debian/patches-applied/ubuntu-rlimit_nice_correction: Explicitly | ||
666 | 852 | initialise RLIMIT_NICE rather than relying on the kernel limits. | ||
667 | 853 | - debian/patches-applied/pam_motd-legal-notice: display the contents of | ||
668 | 854 | /etc/legal once, then set a flag in the user's homedir to prevent | ||
669 | 855 | showing it again. | ||
670 | 856 | - debian/update-motd.5, debian/libpam-modules.manpages: add a manpage | ||
671 | 857 | for update-motd, with some best practices and notes of explanation. | ||
672 | 858 | - debian/patches/update-motd-manpage-ref: add a reference in pam_motd(8) | ||
673 | 859 | to update-motd(5) | ||
674 | 860 | - debian/libpam0g.postinst: drop kdm from the list of services to | ||
675 | 861 | restart. | ||
676 | 862 | - debian/libpam0g.postinst: check if gdm is actually running before | ||
677 | 863 | trying to reload it. | ||
678 | 864 | - debian/local/common-session{,-noninteractive}: Enable pam_umask by | ||
679 | 865 | default, now that the umask setting is gone from /etc/profile. | ||
680 | 866 | - debian/local/pam-auth-update: Add the new md5sums for pam_umask addition. | ||
681 | 867 | - add debian/patches-applied/pam_umask_usergroups_from_login.defs.patch: | ||
682 | 868 | Deprecate pam_unix' explicit "usergroups" option and instead read it | ||
683 | 869 | from /etc/login.def's "USERGROUP_ENAB" option if umask is only defined | ||
684 | 870 | there. This restores compatibility with the pre-PAM behaviour of login. | ||
685 | 871 | (Closes: #583958) | ||
686 | 872 | * Dropped changes, included in Debian: | ||
687 | 873 | - debian/patches-applied/CVE-2011-3148.patch | ||
688 | 874 | - debian/patches-applied/CVE-2011-3149.patch | ||
689 | 875 | - debian/patches-applied/update-motd: updated to use clean environment | ||
690 | 876 | and absolute paths in modules/pam_motd/pam_motd.c. | ||
691 | 877 | * debian/libpam0g.postinst: the init script for 'samba' is now named 'smbd' | ||
692 | 878 | in Ubuntu, so fix the restart handling. | ||
693 | 879 | * debian/patches-applied/update-motd: set a sane umask before calling | ||
694 | 880 | run-parts, and restore the old mask afterwards, so /run/motd gets | ||
695 | 881 | consistent permissions. LP: #871943. | ||
696 | 882 | * debian/patches-applied/update-motd: new module option for pam_motd, | ||
697 | 883 | 'noupdate', which suppresses the call to run-parts /etc/update-motd.d. | ||
698 | 884 | LP: #805423. | ||
699 | 885 | |||
700 | 886 | -- Steve Langasek <steve.langasek@ubuntu.com> Sun, 30 Oct 2011 09:45:00 -0600 | ||
701 | 887 | |||
702 | 888 | >>>>>>> debian/changelog | ||
703 | 269 | pam (1.1.3-5) unstable; urgency=low | 889 | pam (1.1.3-5) unstable; urgency=low |
704 | 270 | 890 | ||
705 | 271 | [ Kees Cook ] | 891 | [ Kees Cook ] |
706 | @@ -320,6 +940,67 @@ pam (1.1.3-3) unstable; urgency=low | |||
707 | 320 | 940 | ||
708 | 321 | -- Steve Langasek <vorlon@debian.org> Sat, 24 Sep 2011 20:08:56 +0000 | 941 | -- Steve Langasek <vorlon@debian.org> Sat, 24 Sep 2011 20:08:56 +0000 |
709 | 322 | 942 | ||
710 | 943 | <<<<<<< debian/changelog | ||
711 | 944 | ======= | ||
712 | 945 | pam (1.1.3-2ubuntu2.1) oneiric-security; urgency=low | ||
713 | 946 | |||
714 | 947 | * SECURITY UPDATE: possible code execution via incorrect environment file | ||
715 | 948 | parsing (LP: #874469) | ||
716 | 949 | - debian/patches-applied/CVE-2011-3148.patch: correctly count leading | ||
717 | 950 | whitespace when parsing environment file in modules/pam_env/pam_env.c. | ||
718 | 951 | - CVE-2011-3148 | ||
719 | 952 | * SECURITY UPDATE: denial of service via overflowed environment variable | ||
720 | 953 | expansion (LP: #874565) | ||
721 | 954 | - debian/patches-applied/CVE-2011-3149.patch: when overflowing, exit | ||
722 | 955 | with PAM_BUF_ERR in modules/pam_env/pam_env.c. | ||
723 | 956 | - CVE-2011-3149 | ||
724 | 957 | * SECURITY UPDATE: code execution via incorrect environment cleaning | ||
725 | 958 | - debian/patches-applied/update-motd: updated to use clean environment | ||
726 | 959 | and absolute paths in modules/pam_motd/pam_motd.c. | ||
727 | 960 | - CVE-2011-XXXX | ||
728 | 961 | |||
729 | 962 | -- Marc Deslauriers <marc.deslauriers@ubuntu.com> Tue, 18 Oct 2011 09:33:47 -0400 | ||
730 | 963 | |||
731 | 964 | pam (1.1.3-2ubuntu1) oneiric; urgency=low | ||
732 | 965 | |||
733 | 966 | * Merge with Debian to get bug fix for unknown kernel rlimits. Remaining | ||
734 | 967 | changes: | ||
735 | 968 | - debian/libpam-modules.postinst: Add PATH to /etc/environment if it's | ||
736 | 969 | not present there or in /etc/security/pam_env.conf. (should send to | ||
737 | 970 | Debian). | ||
738 | 971 | - debian/libpam0g.postinst: only ask questions during update-manager when | ||
739 | 972 | there are non-default services running. | ||
740 | 973 | - Change Vcs-Bzr to point at the Ubuntu branch. | ||
741 | 974 | - debian/patches-applied/series: Ubuntu patches are as below ... | ||
742 | 975 | - debian/patches-applied/ubuntu-rlimit_nice_correction: Explicitly | ||
743 | 976 | initialise RLIMIT_NICE rather than relying on the kernel limits. | ||
744 | 977 | - debian/patches-applied/pam_motd-legal-notice: display the contents of | ||
745 | 978 | /etc/legal once, then set a flag in the user's homedir to prevent | ||
746 | 979 | showing it again. | ||
747 | 980 | - debian/update-motd.5, debian/libpam-modules.manpages: add a manpage | ||
748 | 981 | for update-motd, with some best practices and notes of explanation. | ||
749 | 982 | - debian/patches/update-motd-manpage-ref: add a reference in pam_motd(8) | ||
750 | 983 | to update-motd(5) | ||
751 | 984 | - debian/libpam0g.postinst: drop kdm from the list of services to | ||
752 | 985 | restart. | ||
753 | 986 | - debian/libpam0g.postinst: check if gdm is actually running before | ||
754 | 987 | trying to reload it. | ||
755 | 988 | - debian/local/common-session{,-noninteractive}: Enable pam_umask by | ||
756 | 989 | default, now that the umask setting is gone from /etc/profile. | ||
757 | 990 | - debian/local/pam-auth-update: Add the new md5sums for pam_umask addition. | ||
758 | 991 | - add debian/patches-applied/pam_umask_usergroups_from_login.defs.patch: | ||
759 | 992 | Deprecate pam_unix' explicit "usergroups" option and instead read it | ||
760 | 993 | from /etc/login.def's "USERGROUP_ENAB" option if umask is only defined | ||
761 | 994 | there. This restores compatibility with the pre-PAM behaviour of login. | ||
762 | 995 | (Closes: #583958) | ||
763 | 996 | * Dropped changes: | ||
764 | 997 | - debian/patches-applied/027_pam_limits_better_init_allow_explicit_root: | ||
765 | 998 | no need to bump the hard limit for number of file descriptors any more | ||
766 | 999 | since we read kernel limits directly now. | ||
767 | 1000 | |||
768 | 1001 | -- Kees Cook <kees@ubuntu.com> Thu, 18 Aug 2011 16:41:18 -0500 | ||
769 | 1002 | |||
770 | 1003 | >>>>>>> debian/changelog | ||
771 | 323 | pam (1.1.3-2) unstable; urgency=low | 1004 | pam (1.1.3-2) unstable; urgency=low |
772 | 324 | 1005 | ||
773 | 325 | [ Kees Cook ] | 1006 | [ Kees Cook ] |
774 | @@ -336,6 +1017,76 @@ pam (1.1.3-2) unstable; urgency=low | |||
775 | 336 | 1017 | ||
776 | 337 | -- Steve Langasek <vorlon@debian.org> Tue, 21 Jun 2011 11:41:12 -0700 | 1018 | -- Steve Langasek <vorlon@debian.org> Tue, 21 Jun 2011 11:41:12 -0700 |
777 | 338 | 1019 | ||
778 | 1020 | <<<<<<< debian/changelog | ||
779 | 1021 | ======= | ||
780 | 1022 | pam (1.1.3-1ubuntu3) oneiric; urgency=low | ||
781 | 1023 | |||
782 | 1024 | [ Steve Langasek ] | ||
783 | 1025 | * debian/patches/pam_motd-legal-notice: use pam_modutil_gain/drop_priv | ||
784 | 1026 | common helper functions, instead of hand-rolled uid-setting code. | ||
785 | 1027 | |||
786 | 1028 | [ Martin Pitt ] | ||
787 | 1029 | * debian/local/common-session{,-noninteractive}: Enable pam_umask by | ||
788 | 1030 | default, now that the umask setting is gone from /etc/profile. | ||
789 | 1031 | (LP: #253096, UbuntuSpec:umask-to-0002) | ||
790 | 1032 | * debian/local/pam-auth-update: Add the new md5sum of above files. | ||
791 | 1033 | * Add debian/patches-applied/pam_umask_usergroups_from_login.defs.patch: | ||
792 | 1034 | Deprecate pam_unix' explicit "usergroups" option and instead read it from | ||
793 | 1035 | /etc/login.def's "USERGROUP_ENAB" option if umask is only defined there. | ||
794 | 1036 | This restores compatibility with the pre-PAM behaviour of login. | ||
795 | 1037 | (Closes: #583958) | ||
796 | 1038 | |||
797 | 1039 | -- Martin Pitt <martin.pitt@ubuntu.com> Fri, 24 Jun 2011 11:07:57 +0200 | ||
798 | 1040 | |||
799 | 1041 | pam (1.1.3-1ubuntu2) oneiric; urgency=low | ||
800 | 1042 | |||
801 | 1043 | * debian/patches-applied/update-motd-manpage-ref: refresh patch to apply | ||
802 | 1044 | cleanly against new upstream. | ||
803 | 1045 | |||
804 | 1046 | -- Steve Langasek <steve.langasek@ubuntu.com> Sat, 04 Jun 2011 14:20:17 -0700 | ||
805 | 1047 | |||
806 | 1048 | pam (1.1.3-1ubuntu1) oneiric; urgency=low | ||
807 | 1049 | |||
808 | 1050 | * Merge from Debian unstable, remaining changes: | ||
809 | 1051 | - debian/libpam-modules.postinst: Add PATH to /etc/environment if it's | ||
810 | 1052 | not present there or in /etc/security/pam_env.conf. (should send to | ||
811 | 1053 | Debian). | ||
812 | 1054 | - debian/libpam0g.postinst: only ask questions during update-manager when | ||
813 | 1055 | there are non-default services running. | ||
814 | 1056 | - Change Vcs-Bzr to point at the Ubuntu branch. | ||
815 | 1057 | - debian/patches-applied/series: Ubuntu patches are as below ... | ||
816 | 1058 | - debian/patches-applied/ubuntu-rlimit_nice_correction: Explicitly | ||
817 | 1059 | initialise RLIMIT_NICE rather than relying on the kernel limits. | ||
818 | 1060 | - debian/patches-applied/027_pam_limits_better_init_allow_explicit_root: | ||
819 | 1061 | bump the hard limit for number of file descriptors, to keep pace with | ||
820 | 1062 | the changes in the kernel. | ||
821 | 1063 | - debian/patches-applied/pam_motd-legal-notice: display the contents of | ||
822 | 1064 | /etc/legal once, then set a flag in the user's homedir to prevent | ||
823 | 1065 | showing it again. | ||
824 | 1066 | - debian/update-motd.5, debian/libpam-modules.manpages: add a manpage | ||
825 | 1067 | for update-motd, with some best practices and notes of explanation. | ||
826 | 1068 | - debian/patches/update-motd-manpage-ref: add a reference in pam_motd(8) | ||
827 | 1069 | to update-motd(5) | ||
828 | 1070 | - debian/libpam0g.postinst: drop kdm from the list of services to | ||
829 | 1071 | restart. | ||
830 | 1072 | - debian/libpam0g.postinst: check if gdm is actually running before | ||
831 | 1073 | trying to reload it. | ||
832 | 1074 | - New patch, lib_security_multiarch_compat, which lets us reuse the | ||
833 | 1075 | upstream --enable-isadir functionality to support a true path for | ||
834 | 1076 | module lookups; this way we don't have to force a hard transition to | ||
835 | 1077 | multiarch, but can support resolving modules in both the multiarch and | ||
836 | 1078 | non-multiarch directories. | ||
837 | 1079 | - build for multiarch, splitting our executables out of libpam-modules | ||
838 | 1080 | into a new package, libpam-modules-bin, so that modules can be | ||
839 | 1081 | co-installable between architectures. | ||
840 | 1082 | * Dropped changes: | ||
841 | 1083 | - bumping the service restart version in libpam0g.postinst to ensure | ||
842 | 1084 | servers don't fail to find the pam modules in the new paths; the min | ||
843 | 1085 | version requirement upstream is higher than this now. | ||
844 | 1086 | |||
845 | 1087 | -- Steve Langasek <steve.langasek@ubuntu.com> Sat, 04 Jun 2011 14:04:19 -0700 | ||
846 | 1088 | |||
847 | 1089 | >>>>>>> debian/changelog | ||
848 | 339 | pam (1.1.3-1) unstable; urgency=low | 1090 | pam (1.1.3-1) unstable; urgency=low |
849 | 340 | 1091 | ||
850 | 341 | * New upstream release. | 1092 | * New upstream release. |
851 | @@ -353,6 +1104,49 @@ pam (1.1.3-1) unstable; urgency=low | |||
852 | 353 | 1104 | ||
853 | 354 | -- Steve Langasek <vorlon@debian.org> Sat, 04 Jun 2011 03:10:50 -0700 | 1105 | -- Steve Langasek <vorlon@debian.org> Sat, 04 Jun 2011 03:10:50 -0700 |
854 | 355 | 1106 | ||
855 | 1107 | <<<<<<< debian/changelog | ||
856 | 1108 | ======= | ||
857 | 1109 | pam (1.1.2-3ubuntu1) oneiric; urgency=low | ||
858 | 1110 | |||
859 | 1111 | * Merge from Debian unstable, remaining changes: | ||
860 | 1112 | - debian/libpam-modules.postinst: Add PATH to /etc/environment if it's | ||
861 | 1113 | not present there or in /etc/security/pam_env.conf. (should send to | ||
862 | 1114 | Debian). | ||
863 | 1115 | - debian/libpam0g.postinst: only ask questions during update-manager when | ||
864 | 1116 | there are non-default services running. | ||
865 | 1117 | - Change Vcs-Bzr to point at the Ubuntu branch. | ||
866 | 1118 | - debian/patches-applied/series: Ubuntu patches are as below ... | ||
867 | 1119 | - debian/patches-applied/ubuntu-rlimit_nice_correction: Explicitly | ||
868 | 1120 | initialise RLIMIT_NICE rather than relying on the kernel limits. | ||
869 | 1121 | - debian/patches-applied/027_pam_limits_better_init_allow_explicit_root: | ||
870 | 1122 | bump the hard limit for number of file descriptors, to keep pace with | ||
871 | 1123 | the changes in the kernel. | ||
872 | 1124 | - debian/patches-applied/pam_motd-legal-notice: display the contents of | ||
873 | 1125 | /etc/legal once, then set a flag in the user's homedir to prevent | ||
874 | 1126 | showing it again. | ||
875 | 1127 | - debian/update-motd.5, debian/libpam-modules.manpages: add a manpage | ||
876 | 1128 | for update-motd, with some best practices and notes of explanation. | ||
877 | 1129 | - debian/patches/update-motd-manpage-ref: add a reference in pam_motd(8) | ||
878 | 1130 | to update-motd(5) | ||
879 | 1131 | - debian/libpam0g.postinst: drop kdm from the list of services to | ||
880 | 1132 | restart. | ||
881 | 1133 | - debian/libpam0g.postinst: check if gdm is actually running before | ||
882 | 1134 | trying to reload it. | ||
883 | 1135 | - New patch, lib_security_multiarch_compat, which lets us reuse the | ||
884 | 1136 | upstream --enable-isadir functionality to support a true path for | ||
885 | 1137 | module lookups; this way we don't have to force a hard transition to | ||
886 | 1138 | multiarch, but can support resolving modules in both the multiarch and | ||
887 | 1139 | non-multiarch directories. | ||
888 | 1140 | - build for multiarch, splitting our executables out of libpam-modules | ||
889 | 1141 | into a new package, libpam-modules-bin, so that modules can be | ||
890 | 1142 | co-installable between architectures. | ||
891 | 1143 | - bumping the service restart version in libpam0g.postinst to ensure | ||
892 | 1144 | servers don't fail to find the pam modules in the new paths. | ||
893 | 1145 | * bump debhelper build-dep for final multiarch support. | ||
894 | 1146 | |||
895 | 1147 | -- Steve Langasek <steve.langasek@ubuntu.com> Fri, 20 May 2011 12:53:24 -0700 | ||
896 | 1148 | |||
897 | 1149 | >>>>>>> debian/changelog | ||
898 | 356 | pam (1.1.2-3) unstable; urgency=low | 1150 | pam (1.1.2-3) unstable; urgency=low |
899 | 357 | 1151 | ||
900 | 358 | [ Kees Cook ] | 1152 | [ Kees Cook ] |
901 | @@ -371,6 +1165,95 @@ pam (1.1.2-3) unstable; urgency=low | |||
902 | 371 | 1165 | ||
903 | 372 | -- Steve Langasek <vorlon@debian.org> Sun, 01 May 2011 01:49:11 -0700 | 1166 | -- Steve Langasek <vorlon@debian.org> Sun, 01 May 2011 01:49:11 -0700 |
904 | 373 | 1167 | ||
905 | 1168 | <<<<<<< debian/changelog | ||
906 | 1169 | ======= | ||
907 | 1170 | pam (1.1.2-2ubuntu8) natty; urgency=low | ||
908 | 1171 | |||
909 | 1172 | * Check if gdm is actually running before trying to reload it. (LP: #745532) | ||
910 | 1173 | |||
911 | 1174 | -- Stéphane Graber <stgraber@ubuntu.com> Mon, 11 Apr 2011 21:57:36 -0400 | ||
912 | 1175 | |||
913 | 1176 | pam (1.1.2-2ubuntu7) natty; urgency=low | ||
914 | 1177 | |||
915 | 1178 | * debian/patches-applied/027_pam_limits_better_init_allow_explicit_root: | ||
916 | 1179 | bump the hard limit for number of file descriptors, to keep pace with | ||
917 | 1180 | the changes in the kernel. Fortunately this shadowing should all go | ||
918 | 1181 | away next cycle when we can start to grab defaults directly from /proc. | ||
919 | 1182 | LP: #663090 | ||
920 | 1183 | |||
921 | 1184 | -- Steve Langasek <steve.langasek@ubuntu.com> Tue, 05 Apr 2011 13:02:02 -0700 | ||
922 | 1185 | |||
923 | 1186 | pam (1.1.2-2ubuntu6) natty; urgency=low | ||
924 | 1187 | |||
925 | 1188 | * debian/libpam0g.postinst: according to Kubuntu developers, kdm no longer | ||
926 | 1189 | keeps libpam loaded persistently at runtime, so it's not necessary to | ||
927 | 1190 | force a kdm restart on ABI bump. Which is good, since restarting kdm | ||
928 | 1191 | now seems to also log users out of running sessions, which we rather | ||
929 | 1192 | want to avoid. LP: #744944. | ||
930 | 1193 | |||
931 | 1194 | -- Steve Langasek <steve.langasek@ubuntu.com> Tue, 29 Mar 2011 13:16:26 -0700 | ||
932 | 1195 | |||
933 | 1196 | pam (1.1.2-2ubuntu5) natty; urgency=low | ||
934 | 1197 | |||
935 | 1198 | * Force a service restart on upgrade to the new libpam0g, to ensure | ||
936 | 1199 | servers don't fail to find the pam modules in the new paths. | ||
937 | 1200 | * libpam-modules should also Pre-Depend: on the multiarch-aware libpam0g, | ||
938 | 1201 | for the same reason. | ||
939 | 1202 | |||
940 | 1203 | -- Steve Langasek <steve.langasek@ubuntu.com> Tue, 22 Mar 2011 02:19:51 -0700 | ||
941 | 1204 | |||
942 | 1205 | pam (1.1.2-2ubuntu4) natty; urgency=low | ||
943 | 1206 | |||
944 | 1207 | * Build for multiarch; FFe LP: #733501. | ||
945 | 1208 | * Split our executables out of libpam-modules into a new package, | ||
946 | 1209 | libpam-modules-bin, so that modules can be co-installable between | ||
947 | 1210 | architectures. | ||
948 | 1211 | * New patch, lib_security_multiarch_compat, which lets us reuse the | ||
949 | 1212 | upstream --enable-isadir functionality to support a true path for module | ||
950 | 1213 | lookups; this way we don't have to force a hard transition to multiarch, | ||
951 | 1214 | but can support resolving modules in both the multiarch and | ||
952 | 1215 | non-multiarch directories. | ||
953 | 1216 | * Build-Depend on the multiarchified debhelper. | ||
954 | 1217 | * Add Pre-Depends: ${misc:Pre-Depends} for multiarch-support. | ||
955 | 1218 | |||
956 | 1219 | -- Steve Langasek <steve.langasek@ubuntu.com> Fri, 18 Mar 2011 00:12:26 -0700 | ||
957 | 1220 | |||
958 | 1221 | pam (1.1.2-2ubuntu3) natty; urgency=low | ||
959 | 1222 | |||
960 | 1223 | * Er, but let's get this patch applying cleanly. | ||
961 | 1224 | |||
962 | 1225 | -- Steve Langasek <steve.langasek@ubuntu.com> Mon, 21 Feb 2011 16:10:11 -0800 | ||
963 | 1226 | |||
964 | 1227 | pam (1.1.2-2ubuntu2) natty; urgency=low | ||
965 | 1228 | |||
966 | 1229 | * debian/patches/update-motd-manpage-ref: patch the manpage too, not just | ||
967 | 1230 | the xml source. | ||
968 | 1231 | |||
969 | 1232 | -- Steve Langasek <vorlon@debian.org> Mon, 21 Feb 2011 15:47:27 -0800 | ||
970 | 1233 | |||
971 | 1234 | pam (1.1.2-2ubuntu1) natty; urgency=low | ||
972 | 1235 | |||
973 | 1236 | * Merge from Debian unstable, remaining changes: | ||
974 | 1237 | - debian/libpam-modules.postinst: Add PATH to /etc/environment if it's | ||
975 | 1238 | not present there or in /etc/security/pam_env.conf. (should send to | ||
976 | 1239 | Debian). | ||
977 | 1240 | - debian/libpam0g.postinst: only ask questions during update-manager when | ||
978 | 1241 | there are non-default services running. | ||
979 | 1242 | - debian/patches-applied/series: Ubuntu patches are as below ... | ||
980 | 1243 | - debian/patches-applied/ubuntu-rlimit_nice_correction: Explicitly | ||
981 | 1244 | initialise RLIMIT_NICE rather than relying on the kernel limits. | ||
982 | 1245 | - Change Vcs-Bzr to point at the Ubuntu branch. | ||
983 | 1246 | - debian/patches-applied/pam_motd-legal-notice: display the contents of | ||
984 | 1247 | /etc/legal once, then set a flag in the user's homedir to prevent | ||
985 | 1248 | showing it again. | ||
986 | 1249 | - debian/update-motd.5, debian/libpam-modules.manpages: add a manpage | ||
987 | 1250 | for update-motd, with some best practices and notes of explanation. | ||
988 | 1251 | - debian/patches/update-motd-manpage-ref: add a reference in pam_motd(8) | ||
989 | 1252 | to update-motd(5) | ||
990 | 1253 | |||
991 | 1254 | -- Steve Langasek <steve.langasek@ubuntu.com> Thu, 17 Feb 2011 16:15:47 -0800 | ||
992 | 1255 | |||
993 | 1256 | >>>>>>> debian/changelog | ||
994 | 374 | pam (1.1.2-2) unstable; urgency=low | 1257 | pam (1.1.2-2) unstable; urgency=low |
995 | 375 | 1258 | ||
996 | 376 | * debian/patches-applied/hurd_no_setfsuid: handle some new calls to | 1259 | * debian/patches-applied/hurd_no_setfsuid: handle some new calls to |
997 | @@ -429,6 +1312,35 @@ pam (1.1.1-7) UNRELEASED; urgency=low | |||
998 | 429 | 1312 | ||
999 | 430 | -- Steve Langasek <vorlon@debian.org> Wed, 17 Nov 2010 16:53:46 -0800 | 1313 | -- Steve Langasek <vorlon@debian.org> Wed, 17 Nov 2010 16:53:46 -0800 |
1000 | 431 | 1314 | ||
1001 | 1315 | <<<<<<< debian/changelog | ||
1002 | 1316 | ======= | ||
1003 | 1317 | pam (1.1.1-6.1ubuntu1) natty; urgency=low | ||
1004 | 1318 | |||
1005 | 1319 | * Merge from Debian unstable, remaining changes: | ||
1006 | 1320 | - debian/libpam-modules.postinst: Add PATH to /etc/environment if it's | ||
1007 | 1321 | not present there or in /etc/security/pam_env.conf. (should send to | ||
1008 | 1322 | Debian). | ||
1009 | 1323 | - debian/libpam0g.postinst: only ask questions during update-manager when | ||
1010 | 1324 | there are non-default services running. | ||
1011 | 1325 | - debian/patches-applied/series: Ubuntu patches are as below ... | ||
1012 | 1326 | - debian/patches-applied/ubuntu-rlimit_nice_correction: Explicitly | ||
1013 | 1327 | initialise RLIMIT_NICE rather than relying on the kernel limits. | ||
1014 | 1328 | - Change Vcs-Bzr to point at the Ubuntu branch. | ||
1015 | 1329 | - debian/patches-applied/pam_motd-legal-notice: display the contents of | ||
1016 | 1330 | /etc/legal once, then set a flag in the user's homedir to prevent | ||
1017 | 1331 | showing it again. | ||
1018 | 1332 | - debian/update-motd.5, debian/libpam-modules.manpages: add a manpage | ||
1019 | 1333 | for update-motd, with some best practices and notes of explanation. | ||
1020 | 1334 | - debian/patches/update-motd-manpage-ref: add a reference in pam_motd(8) | ||
1021 | 1335 | to update-motd(5) | ||
1022 | 1336 | * Dropped changes: | ||
1023 | 1337 | - libpam-modules depend on base-files (>= 5.0.0ubuntu6): 5.0.0ubuntu20 | ||
1024 | 1338 | is in 10.04 LTS and this is an essential package, so no more need for | ||
1025 | 1339 | the versioned dependency. | ||
1026 | 1340 | |||
1027 | 1341 | -- Steve Langasek <steve.langasek@ubuntu.com> Tue, 15 Feb 2011 23:36:47 -0800 | ||
1028 | 1342 | |||
1029 | 1343 | >>>>>>> debian/changelog | ||
1030 | 432 | pam (1.1.1-6.1) unstable; urgency=low | 1344 | pam (1.1.1-6.1) unstable; urgency=low |
1031 | 433 | 1345 | ||
1032 | 434 | * Non-maintainer upload. | 1346 | * Non-maintainer upload. |
1033 | @@ -466,6 +1378,41 @@ pam (1.1.1-5) unstable; urgency=low | |||
1034 | 466 | 1378 | ||
1035 | 467 | -- Steve Langasek <vorlon@debian.org> Sun, 05 Sep 2010 12:42:34 -0700 | 1379 | -- Steve Langasek <vorlon@debian.org> Sun, 05 Sep 2010 12:42:34 -0700 |
1036 | 468 | 1380 | ||
1037 | 1381 | <<<<<<< debian/changelog | ||
1038 | 1382 | ======= | ||
1039 | 1383 | pam (1.1.1-4ubuntu2) maverick-security; urgency=low | ||
1040 | 1384 | |||
1041 | 1385 | * SECURITY UPDATE: root privilege escalation via symlink following. | ||
1042 | 1386 | - debian/patches-applied/pam_motd-legal-notice: drop privs for work. | ||
1043 | 1387 | - CVE-2010-0832 | ||
1044 | 1388 | |||
1045 | 1389 | -- Kees Cook <kees@ubuntu.com> Mon, 25 Oct 2010 06:40:32 -0700 | ||
1046 | 1390 | |||
1047 | 1391 | pam (1.1.1-4ubuntu1) maverick; urgency=low | ||
1048 | 1392 | |||
1049 | 1393 | * Merge from Debian unstable, remaining changes: | ||
1050 | 1394 | - debian/libpam-modules.postinst: Add PATH to /etc/environment if it's | ||
1051 | 1395 | not present there or in /etc/security/pam_env.conf. (should send to | ||
1052 | 1396 | Debian). | ||
1053 | 1397 | - debian/libpam0g.postinst: only ask questions during update-manager when | ||
1054 | 1398 | there are non-default services running. | ||
1055 | 1399 | - debian/patches-applied/series: Ubuntu patches are as below ... | ||
1056 | 1400 | - debian/patches-applied/ubuntu-rlimit_nice_correction: Explicitly | ||
1057 | 1401 | initialise RLIMIT_NICE rather than relying on the kernel limits. | ||
1058 | 1402 | - Change Vcs-Bzr to point at the Ubuntu branch. | ||
1059 | 1403 | - Make libpam-modules depend on base-files (>= 5.0.0ubuntu6), to ensure | ||
1060 | 1404 | run-parts does the right thing in /etc/update-motd.d. | ||
1061 | 1405 | - debian/patches-applied/pam_motd-legal-notice: display the contents of | ||
1062 | 1406 | /etc/legal once, then set a flag in the user's homedir to prevent | ||
1063 | 1407 | showing it again. | ||
1064 | 1408 | - debian/update-motd.5, debian/libpam-modules.manpages: add a manpage | ||
1065 | 1409 | for update-motd, with some best practices and notes of explanation. | ||
1066 | 1410 | - debian/patches/update-motd-manpage-ref: add a reference in pam_motd(8) | ||
1067 | 1411 | to update-motd(5) | ||
1068 | 1412 | |||
1069 | 1413 | -- Steve Langasek <steve.langasek@ubuntu.com> Mon, 16 Aug 2010 19:12:35 -0700 | ||
1070 | 1414 | |||
1071 | 1415 | >>>>>>> debian/changelog | ||
1072 | 469 | pam (1.1.1-4) unstable; urgency=low | 1416 | pam (1.1.1-4) unstable; urgency=low |
1073 | 470 | 1417 | ||
1074 | 471 | * debian/patches/conditional_module,_conditional_man: if we don't have the | 1418 | * debian/patches/conditional_module,_conditional_man: if we don't have the |
1075 | @@ -484,6 +1431,43 @@ pam (1.1.1-4) unstable; urgency=low | |||
1076 | 484 | 1431 | ||
1077 | 485 | -- Steve Langasek <vorlon@debian.org> Sun, 15 Aug 2010 21:53:46 -0700 | 1432 | -- Steve Langasek <vorlon@debian.org> Sun, 15 Aug 2010 21:53:46 -0700 |
1078 | 486 | 1433 | ||
1079 | 1434 | <<<<<<< debian/changelog | ||
1080 | 1435 | ======= | ||
1081 | 1436 | pam (1.1.1-3ubuntu2) maverick; urgency=low | ||
1082 | 1437 | |||
1083 | 1438 | * Trigger a rebuild, applying changes from 1.1.1-2ubuntu2 which | ||
1084 | 1439 | were previously not committed to bzr | ||
1085 | 1440 | |||
1086 | 1441 | -- Dustin Kirkland <kirkland@ubuntu.com> Thu, 13 May 2010 10:04:23 +0200 | ||
1087 | 1442 | |||
1088 | 1443 | pam (1.1.1-3ubuntu1) maverick; urgency=low | ||
1089 | 1444 | |||
1090 | 1445 | * Merge from Debian, remaining changes: | ||
1091 | 1446 | - debian/libpam-modules.postinst: Add PATH to /etc/environment if it's not | ||
1092 | 1447 | present there or in /etc/security/pam_env.conf. (should send to Debian). | ||
1093 | 1448 | - debian/libpam0g.postinst: only ask questions during update-manager when | ||
1094 | 1449 | there are non-default services running. | ||
1095 | 1450 | - debian/patches-applied/series: Ubuntu patches are as below ... | ||
1096 | 1451 | - debian/patches-applied/ubuntu-rlimit_nice_correction: Explicitly | ||
1097 | 1452 | initialise RLIMIT_NICE rather than relying on the kernel limits. | ||
1098 | 1453 | - Change Vcs-Bzr to point at the Ubuntu branch. | ||
1099 | 1454 | - Make libpam-modules depend on base-files (>= 5.0.0ubuntu6), to ensure | ||
1100 | 1455 | run-parts does the right thing in /etc/update-motd.d. | ||
1101 | 1456 | - debian/patches-applied/pam_motd-legal-notice: display the contents of | ||
1102 | 1457 | /etc/legal once, then set a flag in the user's homedir to prevent showing | ||
1103 | 1458 | it again. | ||
1104 | 1459 | * Dropped changes: | ||
1105 | 1460 | - debian/local/common-{auth,account,password}.md5sums: include the | ||
1106 | 1461 | Ubuntu-specific intrepid,jaunty md5sums for use during the | ||
1107 | 1462 | common-session-noninteractive upgrade - upgrades to maverick are | ||
1108 | 1463 | only supported from lucid, so this delta can be dropped. | ||
1109 | 1464 | - debian/patches-applied/ubuntu-no-error-if-missingok: 'missingok' option | ||
1110 | 1465 | is obsoleted by 10.04 LTS and no longer needs to be supported for | ||
1111 | 1466 | upgrades. | ||
1112 | 1467 | |||
1113 | 1468 | -- Steve Langasek <steve.langasek@ubuntu.com> Thu, 13 May 2010 00:39:44 +0200 | ||
1114 | 1469 | |||
1115 | 1470 | >>>>>>> debian/changelog | ||
1116 | 487 | pam (1.1.1-3) unstable; urgency=low | 1471 | pam (1.1.1-3) unstable; urgency=low |
1117 | 488 | 1472 | ||
1118 | 489 | * pam-auth-update: fix a bug in our handling of module options when the | 1473 | * pam-auth-update: fix a bug in our handling of module options when the |
1119 | @@ -494,6 +1478,44 @@ pam (1.1.1-3) unstable; urgency=low | |||
1120 | 494 | 1478 | ||
1121 | 495 | -- Steve Langasek <vorlon@debian.org> Sun, 25 Apr 2010 05:53:44 -0700 | 1479 | -- Steve Langasek <vorlon@debian.org> Sun, 25 Apr 2010 05:53:44 -0700 |
1122 | 496 | 1480 | ||
1123 | 1481 | <<<<<<< debian/changelog | ||
1124 | 1482 | ======= | ||
1125 | 1483 | pam (1.1.1-2ubuntu2) lucid; urgency=low | ||
1126 | 1484 | |||
1127 | 1485 | * debian/update-motd.5, debian/libpam-modules.manpages: add a manpage | ||
1128 | 1486 | for update-motd, with some best practices and notes of explanation, | ||
1129 | 1487 | LP: #562566 | ||
1130 | 1488 | * debian/patches/update-motd-manpage-ref: add a reference in pam_mod(8) | ||
1131 | 1489 | to update-motd(5), LP: #552175 | ||
1132 | 1490 | |||
1133 | 1491 | -- Dustin Kirkland <kirkland@ubuntu.com> Tue, 13 Apr 2010 16:58:12 -0500 | ||
1134 | 1492 | |||
1135 | 1493 | pam (1.1.1-2ubuntu1) lucid; urgency=low | ||
1136 | 1494 | |||
1137 | 1495 | * Merge from Debian, remaining changes: | ||
1138 | 1496 | - debian/libpam-modules.postinst: Add PATH to /etc/environment if it's not | ||
1139 | 1497 | present there or in /etc/security/pam_env.conf. (should send to Debian). | ||
1140 | 1498 | - debian/libpam0g.postinst: only ask questions during update-manager when | ||
1141 | 1499 | there are non-default services running. | ||
1142 | 1500 | - debian/patches-applied/series: Ubuntu patches are as below ... | ||
1143 | 1501 | - debian/patches-applied/ubuntu-no-error-if-missingok: add a new, magic | ||
1144 | 1502 | module option 'missingok' which will suppress logging of errors by | ||
1145 | 1503 | libpam if the module is not found. | ||
1146 | 1504 | - debian/patches-applied/ubuntu-rlimit_nice_correction: Explicitly | ||
1147 | 1505 | initialise RLIMIT_NICE rather than relying on the kernel limits. | ||
1148 | 1506 | - Change Vcs-Bzr to point at the Ubuntu branch. | ||
1149 | 1507 | - Make libpam-modules depend on base-files (>= 5.0.0ubuntu6), to ensure | ||
1150 | 1508 | run-parts does the right thing in /etc/update-motd.d. | ||
1151 | 1509 | - debian/patches-applied/pam_motd-legal-notice: display the contents of | ||
1152 | 1510 | /etc/legal once, then set a flag in the user's homedir to prevent showing | ||
1153 | 1511 | it again. | ||
1154 | 1512 | - debian/local/common-{auth,account,password}.md5sums: include the | ||
1155 | 1513 | Ubuntu-specific intrepid,jaunty md5sums for use during the | ||
1156 | 1514 | common-session-noninteractive upgrade. | ||
1157 | 1515 | |||
1158 | 1516 | -- Steve Langasek <steve.langasek@ubuntu.com> Thu, 18 Feb 2010 12:04:18 +0000 | ||
1159 | 1517 | |||
1160 | 1518 | >>>>>>> debian/changelog | ||
1161 | 497 | pam (1.1.1-2) unstable; urgency=low | 1519 | pam (1.1.1-2) unstable; urgency=low |
1162 | 498 | 1520 | ||
1163 | 499 | * Document the new symbols added in 1.1.1 in debian/libpam0g.symbols, and | 1521 | * Document the new symbols added in 1.1.1 in debian/libpam0g.symbols, and |
1164 | @@ -502,6 +1524,34 @@ pam (1.1.1-2) unstable; urgency=low | |||
1165 | 502 | 1524 | ||
1166 | 503 | -- Steve Langasek <vorlon@debian.org> Wed, 17 Feb 2010 23:21:23 -0800 | 1525 | -- Steve Langasek <vorlon@debian.org> Wed, 17 Feb 2010 23:21:23 -0800 |
1167 | 504 | 1526 | ||
1168 | 1527 | <<<<<<< debian/changelog | ||
1169 | 1528 | ======= | ||
1170 | 1529 | pam (1.1.1-1ubuntu1) lucid; urgency=low | ||
1171 | 1530 | |||
1172 | 1531 | * Merge from Debian, remaining changes: | ||
1173 | 1532 | - debian/libpam-modules.postinst: Add PATH to /etc/environment if it's not | ||
1174 | 1533 | present there or in /etc/security/pam_env.conf. (should send to Debian). | ||
1175 | 1534 | - debian/libpam0g.postinst: only ask questions during update-manager when | ||
1176 | 1535 | there are non-default services running. | ||
1177 | 1536 | - debian/patches-applied/series: Ubuntu patches are as below ... | ||
1178 | 1537 | - debian/patches-applied/ubuntu-no-error-if-missingok: add a new, magic | ||
1179 | 1538 | module option 'missingok' which will suppress logging of errors by | ||
1180 | 1539 | libpam if the module is not found. | ||
1181 | 1540 | - debian/patches-applied/ubuntu-rlimit_nice_correction: Explicitly | ||
1182 | 1541 | initialise RLIMIT_NICE rather than relying on the kernel limits. | ||
1183 | 1542 | - Change Vcs-Bzr to point at the Ubuntu branch. | ||
1184 | 1543 | - Make libpam-modules depend on base-files (>= 5.0.0ubuntu6), to ensure | ||
1185 | 1544 | run-parts does the right thing in /etc/update-motd.d. | ||
1186 | 1545 | - debian/patches-applied/pam_motd-legal-notice: display the contents of | ||
1187 | 1546 | /etc/legal once, then set a flag in the user's homedir to prevent showing | ||
1188 | 1547 | it again. | ||
1189 | 1548 | - debian/local/common-{auth,account,password}.md5sums: include the | ||
1190 | 1549 | Ubuntu-specific intrepid,jaunty md5sums for use during the | ||
1191 | 1550 | common-session-noninteractive upgrade. | ||
1192 | 1551 | |||
1193 | 1552 | -- Steve Langasek <vorlon@debian.org> Mon, 01 Feb 2010 09:55:02 -0800 | ||
1194 | 1553 | |||
1195 | 1554 | >>>>>>> debian/changelog | ||
1196 | 505 | pam (1.1.1-1) unstable; urgency=low | 1555 | pam (1.1.1-1) unstable; urgency=low |
1197 | 506 | 1556 | ||
1198 | 507 | * New upstream version. | 1557 | * New upstream version. |
1199 | @@ -529,6 +1579,50 @@ pam (1.1.1-1) unstable; urgency=low | |||
1200 | 529 | 1579 | ||
1201 | 530 | -- Steve Langasek <vorlon@debian.org> Mon, 01 Feb 2010 02:04:33 -0800 | 1580 | -- Steve Langasek <vorlon@debian.org> Mon, 01 Feb 2010 02:04:33 -0800 |
1202 | 531 | 1581 | ||
1203 | 1582 | <<<<<<< debian/changelog | ||
1204 | 1583 | ======= | ||
1205 | 1584 | pam (1.1.0-4ubuntu3) lucid; urgency=low | ||
1206 | 1585 | |||
1207 | 1586 | * Brown paper bag: remove the right patch from the series file. | ||
1208 | 1587 | |||
1209 | 1588 | -- Steve Langasek <steve.langasek@ubuntu.com> Thu, 10 Dec 2009 23:09:03 -0800 | ||
1210 | 1589 | |||
1211 | 1590 | pam (1.1.0-4ubuntu2) lucid; urgency=low | ||
1212 | 1591 | |||
1213 | 1592 | * "Rebase" Ubuntu patches to apply them last in the series. | ||
1214 | 1593 | * Drop patch ubuntu-regression_fix_securetty, superseded by the more | ||
1215 | 1594 | precise fix in pam_securetty_tty_check_before_user_check. | ||
1216 | 1595 | |||
1217 | 1596 | -- Steve Langasek <steve.langasek@ubuntu.com> Thu, 10 Dec 2009 22:52:20 -0800 | ||
1218 | 1597 | |||
1219 | 1598 | pam (1.1.0-4ubuntu1) lucid; urgency=low | ||
1220 | 1599 | |||
1221 | 1600 | * Merge from Debian, remaining changes: | ||
1222 | 1601 | - debian/libpam-modules.postinst: Add PATH to /etc/environment if it's not | ||
1223 | 1602 | present there or in /etc/security/pam_env.conf. (should send to Debian). | ||
1224 | 1603 | - debian/libpam0g.postinst: only ask questions during update-manager when | ||
1225 | 1604 | there are non-default services running. | ||
1226 | 1605 | - debian/patches-applied/series: Ubuntu patches are as below ... | ||
1227 | 1606 | - debian/patches-applied/ubuntu-no-error-if-missingok: add a new, magic | ||
1228 | 1607 | module option 'missingok' which will suppress logging of errors by | ||
1229 | 1608 | libpam if the module is not found. | ||
1230 | 1609 | - debian/patches-applied/ubuntu-regression_fix_securetty: prompt for | ||
1231 | 1610 | password on bad username. | ||
1232 | 1611 | - debian/patches-applied/ubuntu-rlimit_nice_correction: Explicitly | ||
1233 | 1612 | initialise RLIMIT_NICE rather than relying on the kernel limits. | ||
1234 | 1613 | - Change Vcs-Bzr to point at the Ubuntu branch. | ||
1235 | 1614 | - Make libpam-modules depend on base-files (>= 5.0.0ubuntu6), to ensure | ||
1236 | 1615 | run-parts does the right thing in /etc/update-motd.d. | ||
1237 | 1616 | - debian/patches-applied/pam_motd-legal-notice: display the contents of | ||
1238 | 1617 | /etc/legal once, then set a flag in the user's homedir to prevent showing | ||
1239 | 1618 | it again. | ||
1240 | 1619 | - debian/local/common-{auth,account,password}.md5sums: include the | ||
1241 | 1620 | Ubuntu-specific intrepid,jaunty md5sums for use during the | ||
1242 | 1621 | common-session-noninteractive upgrade. | ||
1243 | 1622 | |||
1244 | 1623 | -- Steve Langasek <steve.langasek@ubuntu.com> Thu, 05 Nov 2009 21:33:15 -0800 | ||
1245 | 1624 | |||
1246 | 1625 | >>>>>>> debian/changelog | ||
1247 | 532 | pam (1.1.0-4) unstable; urgency=low | 1626 | pam (1.1.0-4) unstable; urgency=low |
1248 | 533 | 1627 | ||
1249 | 534 | * debian/patches/pam_securetty_tty_check_before_user_check: new patch, | 1628 | * debian/patches/pam_securetty_tty_check_before_user_check: new patch, |
1250 | @@ -578,6 +1672,39 @@ pam (1.1.0-3) unstable; urgency=low | |||
1251 | 578 | 1672 | ||
1252 | 579 | -- Steve Langasek <vorlon@debian.org> Mon, 07 Sep 2009 18:47:45 -0700 | 1673 | -- Steve Langasek <vorlon@debian.org> Mon, 07 Sep 2009 18:47:45 -0700 |
1253 | 580 | 1674 | ||
1254 | 1675 | <<<<<<< debian/changelog | ||
1255 | 1676 | ======= | ||
1256 | 1677 | pam (1.1.0-2ubuntu1) karmic; urgency=low | ||
1257 | 1678 | |||
1258 | 1679 | * Merge from Debian, remaining changes: | ||
1259 | 1680 | - debian/libpam-modules.postinst: Add PATH to /etc/environment if it's not | ||
1260 | 1681 | present there or in /etc/security/pam_env.conf. (should send to Debian). | ||
1261 | 1682 | - debian/libpam0g.postinst: only ask questions during update-manager when | ||
1262 | 1683 | there are non-default services running. | ||
1263 | 1684 | - debian/patches-applied/series: Ubuntu patches are as below ... | ||
1264 | 1685 | - debian/patches-applied/ubuntu-no-error-if-missingok: add a new, magic | ||
1265 | 1686 | module option 'missingok' which will suppress logging of errors by | ||
1266 | 1687 | libpam if the module is not found. | ||
1267 | 1688 | - debian/patches-applied/ubuntu-regression_fix_securetty: prompt for | ||
1268 | 1689 | password on bad username. | ||
1269 | 1690 | - debian/patches-applied/ubuntu-rlimit_nice_correction: Explicitly | ||
1270 | 1691 | initialise RLIMIT_NICE rather than relying on the kernel limits. | ||
1271 | 1692 | - Change Vcs-Bzr to point at the Ubuntu branch. | ||
1272 | 1693 | - Make libpam-modules depend on base-files (>= 5.0.0ubuntu6), to ensure | ||
1273 | 1694 | run-parts does the right thing in /etc/update-motd.d. | ||
1274 | 1695 | - debian/patches-applied/pam_motd-legal-notice: display the contents of | ||
1275 | 1696 | /etc/legal once, then set a flag in the user's homedir to prevent showing | ||
1276 | 1697 | it again. | ||
1277 | 1698 | - debian/local/common-{auth,account,password}.md5sums: include the | ||
1278 | 1699 | Ubuntu-specific intrepid,jaunty md5sums for use during the | ||
1279 | 1700 | common-session-noninteractive upgrade. | ||
1280 | 1701 | * Changes merged in Debian: | ||
1281 | 1702 | - debian/local/common-password, debian/pam-configs/unix: switch from | ||
1282 | 1703 | "md5" to "sha512" as password crypt default. | ||
1283 | 1704 | |||
1284 | 1705 | -- Steve Langasek <steve.langasek@ubuntu.com> Fri, 04 Sep 2009 01:11:48 -0700 | ||
1285 | 1706 | |||
1286 | 1707 | >>>>>>> debian/changelog | ||
1287 | 581 | pam (1.1.0-2) unstable; urgency=low | 1708 | pam (1.1.0-2) unstable; urgency=low |
1288 | 582 | 1709 | ||
1289 | 583 | [ Steve Langasek ] | 1710 | [ Steve Langasek ] |
1290 | @@ -606,6 +1733,44 @@ pam (1.1.0-2) unstable; urgency=low | |||
1291 | 606 | 1733 | ||
1292 | 607 | -- Steve Langasek <vorlon@debian.org> Mon, 31 Aug 2009 14:21:27 -0700 | 1734 | -- Steve Langasek <vorlon@debian.org> Mon, 31 Aug 2009 14:21:27 -0700 |
1293 | 608 | 1735 | ||
1294 | 1736 | <<<<<<< debian/changelog | ||
1295 | 1737 | ======= | ||
1296 | 1738 | pam (1.1.0-1ubuntu1) karmic; urgency=low | ||
1297 | 1739 | |||
1298 | 1740 | * Merge from Debian, remaining changes: | ||
1299 | 1741 | - debian/libpam-modules.postinst: Add PATH to /etc/environment if it's not | ||
1300 | 1742 | present there or in /etc/security/pam_env.conf. (should send to Debian). | ||
1301 | 1743 | - debian/libpam0g.postinst: only ask questions during update-manager when | ||
1302 | 1744 | there are non-default services running. | ||
1303 | 1745 | - debian/patches-applied/series: Ubuntu patches are as below ... | ||
1304 | 1746 | - debian/patches-applied/ubuntu-no-error-if-missingok: add a new, magic | ||
1305 | 1747 | module option 'missingok' which will suppress logging of errors by | ||
1306 | 1748 | libpam if the module is not found. | ||
1307 | 1749 | - debian/patches-applied/ubuntu-regression_fix_securetty: prompt for | ||
1308 | 1750 | password on bad username. | ||
1309 | 1751 | - debian/patches-applied/ubuntu-rlimit_nice_correction: Explicitly | ||
1310 | 1752 | initialise RLIMIT_NICE rather than relying on the kernel limits. | ||
1311 | 1753 | - Change Vcs-Bzr to point at the Ubuntu branch. | ||
1312 | 1754 | - debian/local/common-password, debian/pam-configs/unix: switch from | ||
1313 | 1755 | "md5" to "sha512" as password crypt default. | ||
1314 | 1756 | - Make libpam-modules depend on base-files (>= 5.0.0ubuntu6), to ensure | ||
1315 | 1757 | run-parts does the right thing in /etc/update-motd.d. | ||
1316 | 1758 | - debian/patches-applied/pam_motd-legal-notice: display the contents of | ||
1317 | 1759 | /etc/legal once, then set a flag in the user's homedir to prevent showing | ||
1318 | 1760 | it again. | ||
1319 | 1761 | - debian/local/common-{auth,account,password}.md5sums: include the | ||
1320 | 1762 | Ubuntu-specific intrepid,jaunty md5sums for use during the | ||
1321 | 1763 | common-session-noninteractive upgrade. | ||
1322 | 1764 | * Dropped changes, superseded upstream: | ||
1323 | 1765 | - debian/patches-applied/ubuntu-fix_standard_types: Use standard u_int8_t | ||
1324 | 1766 | type rather than __u8. | ||
1325 | 1767 | - debian/patches-applied/ubuntu-user_defined_environment: Look at | ||
1326 | 1768 | ~/.pam_environment too, with the same format as | ||
1327 | 1769 | /etc/security/pam_env.conf. | ||
1328 | 1770 | |||
1329 | 1771 | -- Steve Langasek <steve.langasek@ubuntu.com> Wed, 26 Aug 2009 00:40:14 -0700 | ||
1330 | 1772 | |||
1331 | 1773 | >>>>>>> debian/changelog | ||
1332 | 609 | pam (1.1.0-1) unstable; urgency=low | 1774 | pam (1.1.0-1) unstable; urgency=low |
1333 | 610 | 1775 | ||
1334 | 611 | * New upstream version. | 1776 | * New upstream version. |
1335 | @@ -649,6 +1814,45 @@ pam (1.1.0-1) unstable; urgency=low | |||
1336 | 649 | 1814 | ||
1337 | 650 | -- Steve Langasek <vorlon@debian.org> Tue, 25 Aug 2009 20:35:26 -0700 | 1815 | -- Steve Langasek <vorlon@debian.org> Tue, 25 Aug 2009 20:35:26 -0700 |
1338 | 651 | 1816 | ||
1339 | 1817 | <<<<<<< debian/changelog | ||
1340 | 1818 | ======= | ||
1341 | 1819 | pam (1.0.1-11ubuntu1) karmic; urgency=low | ||
1342 | 1820 | |||
1343 | 1821 | * Merge from Debian, remaining changes: | ||
1344 | 1822 | - debian/libpam-modules.postinst: Add PATH to /etc/environment if it's not | ||
1345 | 1823 | present there or in /etc/security/pam_env.conf. (should send to Debian). | ||
1346 | 1824 | - debian/libpam0g.postinst: only ask questions during update-manager when | ||
1347 | 1825 | there are non-default services running. | ||
1348 | 1826 | - debian/patches-applied/series: Ubuntu patches are as below ... | ||
1349 | 1827 | - debian/patches-applied/ubuntu-fix_standard_types: Use standard u_int8_t | ||
1350 | 1828 | type rather than __u8. | ||
1351 | 1829 | - debian/patches-applied/ubuntu-no-error-if-missingok: add a new, magic | ||
1352 | 1830 | module option 'missingok' which will suppress logging of errors by | ||
1353 | 1831 | libpam if the module is not found. | ||
1354 | 1832 | - debian/patches-applied/ubuntu-regression_fix_securetty: prompt for | ||
1355 | 1833 | password on bad username. | ||
1356 | 1834 | - debian/patches-applied/ubuntu-rlimit_nice_correction: Explicitly | ||
1357 | 1835 | initialise RLIMIT_NICE rather than relying on the kernel limits. | ||
1358 | 1836 | - debian/patches-applied/ubuntu-user_defined_environment: Look at | ||
1359 | 1837 | ~/.pam_environment too, with the same format as | ||
1360 | 1838 | /etc/security/pam_env.conf. (Originally patch 100; converted to quilt.) | ||
1361 | 1839 | - Change Vcs-Bzr to point at the Ubuntu branch. | ||
1362 | 1840 | - debian/local/common-password, debian/pam-configs/unix: switch from | ||
1363 | 1841 | "md5" to "sha512" as password crypt default. | ||
1364 | 1842 | - Make libpam-modules depend on base-files (>= 5.0.0ubuntu6), to ensure | ||
1365 | 1843 | run-parts does the right thing in /etc/update-motd.d. | ||
1366 | 1844 | - debian/patches-applied/pam_motd-legal-notice: display the contents of | ||
1367 | 1845 | /etc/legal once, then set a flag in the user's homedir to prevent showing | ||
1368 | 1846 | it again. | ||
1369 | 1847 | * debian/local/pam-auth-update: prune some more md5sums from intrepid | ||
1370 | 1848 | pre-release versions, reducing the Ubuntu delta some | ||
1371 | 1849 | * debian/local/common-{auth,account,password}.md5sums: include the | ||
1372 | 1850 | Ubuntu-specific intrepid,jaunty md5sums for use during the | ||
1373 | 1851 | common-session-noninteractive upgrade. | ||
1374 | 1852 | |||
1375 | 1853 | -- Steve Langasek <steve.langasek@ubuntu.com> Sun, 23 Aug 2009 20:14:58 -0700 | ||
1376 | 1854 | |||
1377 | 1855 | >>>>>>> debian/changelog | ||
1378 | 652 | pam (1.0.1-11) unstable; urgency=low | 1856 | pam (1.0.1-11) unstable; urgency=low |
1379 | 653 | 1857 | ||
1380 | 654 | * debian/libpam-runtime.postinst: bump the --force version check to | 1858 | * debian/libpam-runtime.postinst: bump the --force version check to |
1381 | @@ -676,6 +1880,40 @@ pam (1.0.1-11) unstable; urgency=low | |||
1382 | 676 | 1880 | ||
1383 | 677 | -- Steve Langasek <vorlon@debian.org> Sun, 23 Aug 2009 18:07:11 -0700 | 1881 | -- Steve Langasek <vorlon@debian.org> Sun, 23 Aug 2009 18:07:11 -0700 |
1384 | 678 | 1882 | ||
1385 | 1883 | <<<<<<< debian/changelog | ||
1386 | 1884 | ======= | ||
1387 | 1885 | pam (1.0.1-10ubuntu1) karmic; urgency=low | ||
1388 | 1886 | |||
1389 | 1887 | * Merge from Debian, remaining changes: | ||
1390 | 1888 | - debian/libpam-modules.postinst: Add PATH to /etc/environment if it's not | ||
1391 | 1889 | present there or in /etc/security/pam_env.conf. (should send to Debian). | ||
1392 | 1890 | - debian/libpam0g.postinst: only ask questions during update-manager when | ||
1393 | 1891 | there are non-default services running. | ||
1394 | 1892 | - debian/patches-applied/series: Ubuntu patches are as below ... | ||
1395 | 1893 | - debian/patches-applied/ubuntu-fix_standard_types: Use standard u_int8_t | ||
1396 | 1894 | type rather than __u8. | ||
1397 | 1895 | - debian/patches-applied/ubuntu-no-error-if-missingok: add a new, magic | ||
1398 | 1896 | module option 'missingok' which will suppress logging of errors by | ||
1399 | 1897 | libpam if the module is not found. | ||
1400 | 1898 | - debian/patches-applied/ubuntu-regression_fix_securetty: prompt for | ||
1401 | 1899 | password on bad username. | ||
1402 | 1900 | - debian/patches-applied/ubuntu-rlimit_nice_correction: Explicitly | ||
1403 | 1901 | initialise RLIMIT_NICE rather than relying on the kernel limits. | ||
1404 | 1902 | - debian/patches-applied/ubuntu-user_defined_environment: Look at | ||
1405 | 1903 | ~/.pam_environment too, with the same format as | ||
1406 | 1904 | /etc/security/pam_env.conf. (Originally patch 100; converted to quilt.) | ||
1407 | 1905 | - Change Vcs-Bzr to point at the Ubuntu branch. | ||
1408 | 1906 | - debian/local/common-password, debian/pam-configs/unix: switch from | ||
1409 | 1907 | "md5" to "sha512" as password crypt default. | ||
1410 | 1908 | - Make libpam-modules depend on base-files (>= 5.0.0ubuntu6), to ensure | ||
1411 | 1909 | run-parts does the right thing in /etc/update-motd.d. | ||
1412 | 1910 | - debian/patches-applied/pam_motd-legal-notice: display the contents of | ||
1413 | 1911 | /etc/legal once, then set a flag in the user's homedir to prevent showing | ||
1414 | 1912 | it again. | ||
1415 | 1913 | |||
1416 | 1914 | -- Steve Langasek <steve.langasek@ubuntu.com> Fri, 07 Aug 2009 09:50:02 +0100 | ||
1417 | 1915 | |||
1418 | 1916 | >>>>>>> debian/changelog | ||
1419 | 679 | pam (1.0.1-10) unstable; urgency=high | 1917 | pam (1.0.1-10) unstable; urgency=high |
1420 | 680 | 1918 | ||
1421 | 681 | [ Steve Langasek ] | 1919 | [ Steve Langasek ] |
1422 | @@ -712,6 +1950,54 @@ pam (1.0.1-10) unstable; urgency=high | |||
1423 | 712 | 1950 | ||
1424 | 713 | -- Steve Langasek <vorlon@debian.org> Thu, 06 Aug 2009 17:54:32 +0100 | 1951 | -- Steve Langasek <vorlon@debian.org> Thu, 06 Aug 2009 17:54:32 +0100 |
1425 | 714 | 1952 | ||
1426 | 1953 | <<<<<<< debian/changelog | ||
1427 | 1954 | ======= | ||
1428 | 1955 | pam (1.0.1-9ubuntu3) karmic; urgency=low | ||
1429 | 1956 | |||
1430 | 1957 | * Make libpam-modules depend on base-files (>= 5.0.0ubuntu6), to ensure | ||
1431 | 1958 | run-parts does the right thing in /etc/update-motd.d. | ||
1432 | 1959 | |||
1433 | 1960 | -- Steve Langasek <steve.langasek@ubuntu.com> Wed, 15 Jul 2009 23:55:50 -0700 | ||
1434 | 1961 | |||
1435 | 1962 | pam (1.0.1-9ubuntu2) karmic; urgency=low | ||
1436 | 1963 | |||
1437 | 1964 | [ Dustin Kirkland ] | ||
1438 | 1965 | * debian/patches/update-motd: run the update-motd scripts in pam_motd; | ||
1439 | 1966 | render update-motd obsolete, LP: #399071 | ||
1440 | 1967 | * debian/patches-applied/pam_motd-legal-notice: display the contents of | ||
1441 | 1968 | /etc/legal once, then set a flag in the user's homedir to prevent showing | ||
1442 | 1969 | it again. | ||
1443 | 1970 | |||
1444 | 1971 | -- Steve Langasek <steve.langasek@ubuntu.com> Wed, 15 Jul 2009 20:41:52 -0700 | ||
1445 | 1972 | |||
1446 | 1973 | pam (1.0.1-9ubuntu1) jaunty; urgency=low | ||
1447 | 1974 | |||
1448 | 1975 | * Merge from Debian unstable | ||
1449 | 1976 | * Remaining changes: | ||
1450 | 1977 | - debian/libpam-modules.postinst: Add PATH to /etc/environment if it's not | ||
1451 | 1978 | present there or in /etc/security/pam_env.conf. (should send to Debian). | ||
1452 | 1979 | - debian/libpam0g.postinst: only ask questions during update-manager when | ||
1453 | 1980 | there are non-default services running. | ||
1454 | 1981 | - debian/patches-applied/series: Ubuntu patches are as below ... | ||
1455 | 1982 | - debian/patches-applied/ubuntu-fix_standard_types: Use standard u_int8_t | ||
1456 | 1983 | type rather than __u8. | ||
1457 | 1984 | - debian/patches-applied/ubuntu-no-error-if-missingok: add a new, magic | ||
1458 | 1985 | module option 'missingok' which will suppress logging of errors by | ||
1459 | 1986 | libpam if the module is not found. | ||
1460 | 1987 | - debian/patches-applied/ubuntu-regression_fix_securetty: prompt for | ||
1461 | 1988 | password on bad username. | ||
1462 | 1989 | - debian/patches-applied/ubuntu-rlimit_nice_correction: Explicitly | ||
1463 | 1990 | initialise RLIMIT_NICE rather than relying on the kernel limits. | ||
1464 | 1991 | - debian/patches-applied/ubuntu-user_defined_environment: Look at | ||
1465 | 1992 | ~/.pam_environment too, with the same format as | ||
1466 | 1993 | /etc/security/pam_env.conf. (Originally patch 100; converted to quilt.) | ||
1467 | 1994 | - Change Vcs-Bzr to point at the Ubuntu branch. | ||
1468 | 1995 | - debian/local/common-password, debian/pam-configs/unix: switch from | ||
1469 | 1996 | "md5" to "sha512" as password crypt default. | ||
1470 | 1997 | |||
1471 | 1998 | -- Steve Langasek <steve.langasek@ubuntu.com> Fri, 20 Mar 2009 19:12:10 -0700 | ||
1472 | 1999 | |||
1473 | 2000 | >>>>>>> debian/changelog | ||
1474 | 715 | pam (1.0.1-9) unstable; urgency=low | 2001 | pam (1.0.1-9) unstable; urgency=low |
1475 | 716 | 2002 | ||
1476 | 717 | * Move the pam module packages to section 'admin'. | 2003 | * Move the pam module packages to section 'admin'. |
1477 | @@ -745,6 +2031,59 @@ pam (1.0.1-8) unstable; urgency=low | |||
1478 | 745 | 2031 | ||
1479 | 746 | -- Steve Langasek <vorlon@debian.org> Fri, 20 Mar 2009 18:15:07 -0700 | 2032 | -- Steve Langasek <vorlon@debian.org> Fri, 20 Mar 2009 18:15:07 -0700 |
1480 | 747 | 2033 | ||
1481 | 2034 | <<<<<<< debian/changelog | ||
1482 | 2035 | ======= | ||
1483 | 2036 | pam (1.0.1-7ubuntu1) jaunty; urgency=low | ||
1484 | 2037 | |||
1485 | 2038 | * Merge from Debian unstable | ||
1486 | 2039 | * Remaining changes: | ||
1487 | 2040 | - debian/libpam-modules.postinst: Add PATH to /etc/environment if it's not | ||
1488 | 2041 | present there or in /etc/security/pam_env.conf. (should send to Debian). | ||
1489 | 2042 | - debian/libpam0g.postinst: only ask questions during update-manager when | ||
1490 | 2043 | there are non-default services running. | ||
1491 | 2044 | - debian/patches-applied/series: Ubuntu patches are as below ... | ||
1492 | 2045 | - debian/patches-applied/ubuntu-fix_standard_types: Use standard u_int8_t | ||
1493 | 2046 | type rather than __u8. | ||
1494 | 2047 | - debian/patches-applied/ubuntu-no-error-if-missingok: add a new, magic | ||
1495 | 2048 | module option 'missingok' which will suppress logging of errors by | ||
1496 | 2049 | libpam if the module is not found. | ||
1497 | 2050 | - debian/patches-applied/ubuntu-regression_fix_securetty: prompt for | ||
1498 | 2051 | password on bad username. | ||
1499 | 2052 | - debian/patches-applied/ubuntu-rlimit_nice_correction: Explicitly | ||
1500 | 2053 | initialise RLIMIT_NICE rather than relying on the kernel limits. | ||
1501 | 2054 | - debian/patches-applied/ubuntu-user_defined_environment: Look at | ||
1502 | 2055 | ~/.pam_environment too, with the same format as | ||
1503 | 2056 | /etc/security/pam_env.conf. (Originally patch 100; converted to quilt.) | ||
1504 | 2057 | - Change Vcs-Bzr to point at the Ubuntu branch. | ||
1505 | 2058 | - debian/local/common-password, debian/pam-configs/unix: switch from | ||
1506 | 2059 | "md5" to "sha512" as password crypt default. | ||
1507 | 2060 | * Dropped changes, merged in Debian: | ||
1508 | 2061 | - debian/local/pam-auth-update (et al): new interface for managing | ||
1509 | 2062 | /etc/pam.d/common-*, using drop-in config snippets provided by module | ||
1510 | 2063 | packages. | ||
1511 | 2064 | - New patch dont_freeze_password_chain, cherry-picked from upstream: | ||
1512 | 2065 | don't always follow the same path through the password stack on | ||
1513 | 2066 | the PAM_UPDATE_AUTHTOK pass as was used in the PAM_PRELIM_CHECK | ||
1514 | 2067 | pass; this Linux-PAM deviation from the original PAM spec causes a | ||
1515 | 2068 | number of problems, in particular causing wrong return values when | ||
1516 | 2069 | using the refactored pam-auth-update stack. LP: #303515, #305882. | ||
1517 | 2070 | - debian/patches/027_pam_limits_better_init_allow_explicit_root: | ||
1518 | 2071 | Add documentation to the patch showing how to set limits for root. | ||
1519 | 2072 | * Bump the libpam-cracklib dependency on libpam-runtime to 1.0.1-6, | ||
1520 | 2073 | reducing the delta with Debian. | ||
1521 | 2074 | * Drop upgrade handling code from libpam-runtime.postinst that's only | ||
1522 | 2075 | needed when upgrading from 1.0.1-2ubuntu1, a superseded intrepid | ||
1523 | 2076 | pre-release version of the package. | ||
1524 | 2077 | * pam-auth-update: swap out known md5sums from intrepid pre-release versions | ||
1525 | 2078 | with the md5sums from the released intrepid version | ||
1526 | 2079 | * pam-auth-update: drop some md5sums that will only be seen on upgrade from | ||
1527 | 2080 | pre-intrepid versions; skipping over the 8.10 final release is not | ||
1528 | 2081 | supported, and upgrading via 8.10 means those config files will be | ||
1529 | 2082 | replaced so the old md5sums will never be seen again. | ||
1530 | 2083 | |||
1531 | 2084 | -- Steve Langasek <steve.langasek@ubuntu.com> Tue, 03 Mar 2009 17:34:19 -0800 | ||
1532 | 2085 | |||
1533 | 2086 | >>>>>>> debian/changelog | ||
1534 | 748 | pam (1.0.1-7) unstable; urgency=low | 2087 | pam (1.0.1-7) unstable; urgency=low |
1535 | 749 | 2088 | ||
1536 | 750 | * 027_pam_limits_better_init_allow_explicit_root: | 2089 | * 027_pam_limits_better_init_allow_explicit_root: |
1537 | @@ -779,6 +2118,70 @@ pam (1.0.1-6) unstable; urgency=low | |||
1538 | 779 | 2118 | ||
1539 | 780 | -- Steve Langasek <vorlon@debian.org> Sat, 28 Feb 2009 13:36:57 -0800 | 2119 | -- Steve Langasek <vorlon@debian.org> Sat, 28 Feb 2009 13:36:57 -0800 |
1540 | 781 | 2120 | ||
1541 | 2121 | <<<<<<< debian/changelog | ||
1542 | 2122 | ======= | ||
1543 | 2123 | pam (1.0.1-5ubuntu2) jaunty; urgency=low | ||
1544 | 2124 | |||
1545 | 2125 | * New patch dont_freeze_password_chain, cherry-picked from upstream: | ||
1546 | 2126 | don't always follow the same path through the password stack on | ||
1547 | 2127 | the PAM_UPDATE_AUTHTOK pass as was used in the PAM_PRELIM_CHECK | ||
1548 | 2128 | pass; this Linux-PAM deviation from the original PAM spec causes a | ||
1549 | 2129 | number of problems, in particular causing wrong return values when | ||
1550 | 2130 | using the refactored pam-auth-update stack. LP: #303515, #305882. | ||
1551 | 2131 | |||
1552 | 2132 | -- Steve Langasek <steve.langasek@ubuntu.com> Fri, 27 Feb 2009 16:20:24 -0800 | ||
1553 | 2133 | |||
1554 | 2134 | pam (1.0.1-5ubuntu1) jaunty; urgency=low | ||
1555 | 2135 | |||
1556 | 2136 | * Merge from Debian unstable | ||
1557 | 2137 | * Remaining changes: | ||
1558 | 2138 | - debian/libpam-modules.postinst: Add PATH to /etc/environment if it's not | ||
1559 | 2139 | present there or in /etc/security/pam_env.conf. (should send to Debian). | ||
1560 | 2140 | - debian/libpam0g.postinst: only ask questions during update-manager when | ||
1561 | 2141 | there are non-default services running. | ||
1562 | 2142 | - debian/patches-applied/series: Ubuntu patches are as below ... | ||
1563 | 2143 | - debian/patches-applied/ubuntu-fix_standard_types: Use standard u_int8_t | ||
1564 | 2144 | type rather than __u8. | ||
1565 | 2145 | - debian/patches-applied/ubuntu-no-error-if-missingok: add a new, magic | ||
1566 | 2146 | module option 'missingok' which will suppress logging of errors by | ||
1567 | 2147 | libpam if the module is not found. | ||
1568 | 2148 | - debian/patches-applied/ubuntu-regression_fix_securetty: prompt for | ||
1569 | 2149 | password on bad username. | ||
1570 | 2150 | - debian/patches-applied/ubuntu-rlimit_nice_correction: Explicitly | ||
1571 | 2151 | initialise RLIMIT_NICE rather than relying on the kernel limits. | ||
1572 | 2152 | - debian/patches-applied/ubuntu-user_defined_environment: Look at | ||
1573 | 2153 | ~/.pam_environment too, with the same format as | ||
1574 | 2154 | /etc/security/pam_env.conf. (Originally patch 100; converted to quilt.) | ||
1575 | 2155 | - Change Vcs-Bzr to point at the Ubuntu branch. | ||
1576 | 2156 | - debian/local/pam-auth-update (et al): new interface for managing | ||
1577 | 2157 | /etc/pam.d/common-*, using drop-in config snippets provided by module | ||
1578 | 2158 | packages. | ||
1579 | 2159 | - debian/local/common-password, debian/pam-configs/unix: switch from | ||
1580 | 2160 | "md5" to "sha512" as password crypt default. | ||
1581 | 2161 | * Bump the version numbers referenced in the config files, again, as pam | ||
1582 | 2162 | has revved in Debian and moved the bar. | ||
1583 | 2163 | * pam-auth-update: If /var/lib/pam/seen is absent, treat this the same | ||
1584 | 2164 | as a present but empty file; thanks to Greg Price for the patch. | ||
1585 | 2165 | LP: #294513. | ||
1586 | 2166 | * pam-auth-update: Ignore removed profiles when detecting an empty set | ||
1587 | 2167 | of currently-enabled modules. Thanks to Greg Price for this as well. | ||
1588 | 2168 | * debian/control: libpam-runtime needs a versioned dependency on | ||
1589 | 2169 | debconf, because it uses the x_loadtemplatefile extension that's | ||
1590 | 2170 | not supported by debconf versions before hardy. LP: #295135. | ||
1591 | 2171 | * pam-auth-update: trim leading whitespace from multiline fields when | ||
1592 | 2172 | parsing PAM profiles. LP: #295441. | ||
1593 | 2173 | * pam-auth-update: factor out the duplicate code used for returning | ||
1594 | 2174 | the lines for a given module | ||
1595 | 2175 | |||
1596 | 2176 | [ Jonathan Marsden ] | ||
1597 | 2177 | * debian/patches/027_pam_limits_better_init_allow_explicit_root: | ||
1598 | 2178 | Add to patch, documenting how to set limits for root user. | ||
1599 | 2179 | Include an example. Alters limits.conf, limits.conf.5.xml, | ||
1600 | 2180 | and limits.conf.5 . (LP: #65244) | ||
1601 | 2181 | |||
1602 | 2182 | -- Steve Langasek <steve.langasek@ubuntu.com> Thu, 08 Jan 2009 20:26:25 +0000 | ||
1603 | 2183 | |||
1604 | 2184 | >>>>>>> debian/changelog | ||
1605 | 782 | pam (1.0.1-5) unstable; urgency=low | 2185 | pam (1.0.1-5) unstable; urgency=low |
1606 | 783 | 2186 | ||
1607 | 784 | * Build-conflict with libxcrypt-dev, which otherwise pulls libxcrypt in as | 2187 | * Build-conflict with libxcrypt-dev, which otherwise pulls libxcrypt in as |
1608 | @@ -814,6 +2217,114 @@ pam (1.0.1-5) unstable; urgency=low | |||
1609 | 814 | 2217 | ||
1610 | 815 | -- Steve Langasek <vorlon@debian.org> Tue, 06 Jan 2009 00:05:13 -0800 | 2218 | -- Steve Langasek <vorlon@debian.org> Tue, 06 Jan 2009 00:05:13 -0800 |
1611 | 816 | 2219 | ||
1612 | 2220 | <<<<<<< debian/changelog | ||
1613 | 2221 | ======= | ||
1614 | 2222 | pam (1.0.1-4ubuntu5.4) jaunty; urgency=low | ||
1615 | 2223 | |||
1616 | 2224 | * No-change upload to jaunty to fix publication on armel. | ||
1617 | 2225 | |||
1618 | 2226 | -- Colin Watson <cjwatson@ubuntu.com> Tue, 18 Nov 2008 14:09:00 +0000 | ||
1619 | 2227 | |||
1620 | 2228 | pam (1.0.1-4ubuntu5.3) intrepid-updates; urgency=low | ||
1621 | 2229 | |||
1622 | 2230 | * No-change upload of 1.0.1-4ubuntu5.1 to -updates. -proposed package was | ||
1623 | 2231 | copied while some ports were not built yet. | ||
1624 | 2232 | |||
1625 | 2233 | -- Martin Pitt <martin.pitt@ubuntu.com> Tue, 11 Nov 2008 14:50:12 +0100 | ||
1626 | 2234 | |||
1627 | 2235 | pam (1.0.1-4ubuntu5.2) intrepid-proposed; urgency=low | ||
1628 | 2236 | |||
1629 | 2237 | * No-change rebuild because the archive admin (me) copied the package | ||
1630 | 2238 | to jaunty too soon. | ||
1631 | 2239 | |||
1632 | 2240 | -- Steve Langasek <steve.langasek@ubuntu.com> Wed, 05 Nov 2008 20:28:11 +0000 | ||
1633 | 2241 | |||
1634 | 2242 | pam (1.0.1-4ubuntu5.1) intrepid-proposed; urgency=low | ||
1635 | 2243 | |||
1636 | 2244 | * Allow passwords to change on expired accounts, by passing | ||
1637 | 2245 | new_authtok_reqd return codes immediately (LP: #291091). | ||
1638 | 2246 | |||
1639 | 2247 | -- Kees Cook <kees@ubuntu.com> Wed, 05 Nov 2008 09:31:45 -0800 | ||
1640 | 2248 | |||
1641 | 2249 | pam (1.0.1-4ubuntu5) intrepid; urgency=low | ||
1642 | 2250 | |||
1643 | 2251 | * debian/libpam0g.postinst: change 'cupsys' to 'cups' in the list of | ||
1644 | 2252 | default desktop services that are ignored in deciding whether to prompt | ||
1645 | 2253 | for service restarts on upgrade. Partially addresses LP #278117. | ||
1646 | 2254 | * debian/libpam0g.postinst: also filter out samba, which may be installed | ||
1647 | 2255 | on the desktop to enable filesharing. | ||
1648 | 2256 | * debian/libpam-cracklib.prerm, debian/libpam-runtime.prerm: add the | ||
1649 | 2257 | ubiquitous debhelper tokens (currently a no-op) | ||
1650 | 2258 | * pam-auth-update: Use -Initial only for the first profile, even when | ||
1651 | 2259 | there's no explicit -Initial config for that first profile | ||
1652 | 2260 | * fix common-session/common-password to use the same overall stack | ||
1653 | 2261 | structure as auth/account, so that we get the correct behavior when | ||
1654 | 2262 | all password modules fail. LP: #272232. | ||
1655 | 2263 | |||
1656 | 2264 | -- Steve Langasek <steve.langasek@ubuntu.com> Wed, 15 Oct 2008 18:11:13 -0700 | ||
1657 | 2265 | |||
1658 | 2266 | pam (1.0.1-4ubuntu4) intrepid; urgency=low | ||
1659 | 2267 | |||
1660 | 2268 | * Fix a bug in the parser that caused spewing of errors when there | ||
1661 | 2269 | were more lines in the config file following the managed block. | ||
1662 | 2270 | LP: #270328. | ||
1663 | 2271 | |||
1664 | 2272 | -- Steve Langasek <steve.langasek@ubuntu.com> Tue, 23 Sep 2008 06:34:56 +0000 | ||
1665 | 2273 | |||
1666 | 2274 | pam (1.0.1-4ubuntu3) intrepid; urgency=low | ||
1667 | 2275 | |||
1668 | 2276 | * Fix up the code that saves state to /var/lib/pam, so that it matches | ||
1669 | 2277 | what's expected by the code which later compares the saved and active | ||
1670 | 2278 | profiles in the case that there are both primary and additional | ||
1671 | 2279 | modules present. | ||
1672 | 2280 | |||
1673 | 2281 | -- Steve Langasek <steve.langasek@ubuntu.com> Tue, 16 Sep 2008 06:49:56 +0000 | ||
1674 | 2282 | |||
1675 | 2283 | pam (1.0.1-4ubuntu2) intrepid; urgency=low | ||
1676 | 2284 | |||
1677 | 2285 | * Brown paper bag bug: fix a missing comma in pam-auth-update. | ||
1678 | 2286 | |||
1679 | 2287 | -- Steve Langasek <steve.langasek@ubuntu.com> Sat, 13 Sep 2008 08:55:32 +0000 | ||
1680 | 2288 | |||
1681 | 2289 | pam (1.0.1-4ubuntu1) intrepid; urgency=low | ||
1682 | 2290 | |||
1683 | 2291 | * Merge from Debian unstable | ||
1684 | 2292 | * Remaining changes: | ||
1685 | 2293 | - debian/libpam-modules.postinst: Add PATH to /etc/environment if it's not | ||
1686 | 2294 | present there or in /etc/security/pam_env.conf. (should send to Debian). | ||
1687 | 2295 | - debian/libpam0g.postinst: only ask questions during update-manager when | ||
1688 | 2296 | there are non-default services running. | ||
1689 | 2297 | - debian/patches-applied/series: Ubuntu patches are as below ... | ||
1690 | 2298 | - debian/patches-applied/ubuntu-fix_standard_types: Use standard u_int8_t | ||
1691 | 2299 | type rather than __u8. | ||
1692 | 2300 | - debian/patches-applied/ubuntu-no-error-if-missingok: add a new, magic | ||
1693 | 2301 | module option 'missingok' which will suppress logging of errors by | ||
1694 | 2302 | libpam if the module is not found. | ||
1695 | 2303 | - debian/patches-applied/ubuntu-regression_fix_securetty: prompt for | ||
1696 | 2304 | password on bad username. | ||
1697 | 2305 | - debian/patches-applied/ubuntu-rlimit_nice_correction: Explicitly | ||
1698 | 2306 | initialise RLIMIT_NICE rather than relying on the kernel limits. | ||
1699 | 2307 | - debian/patches-applied/ubuntu-user_defined_environment: Look at | ||
1700 | 2308 | ~/.pam_environment too, with the same format as | ||
1701 | 2309 | /etc/security/pam_env.conf. (Originally patch 100; converted to quilt.) | ||
1702 | 2310 | - Change Vcs-Bzr to point at the Ubuntu branch. | ||
1703 | 2311 | - debian/local/pam-auth-update (et al): new interface for managing | ||
1704 | 2312 | /etc/pam.d/common-*, using drop-in config snippets provided by module | ||
1705 | 2313 | packages. | ||
1706 | 2314 | - debian/local/common-password, debian/pam-configs/unix: switch from | ||
1707 | 2315 | "md5" to "sha512" as password crypt default. | ||
1708 | 2316 | * Bump the version numbers referenced in the config files, again, as pam | ||
1709 | 2317 | has revved in Debian and moved the bar. | ||
1710 | 2318 | * debian/pam-config/*: refine the password profiles to use a 'primary' | ||
1711 | 2319 | block, to better parallel the auth structure. | ||
1712 | 2320 | * Drop '-Final' from the field names in /usr/share/pam-configs, supporting | ||
1713 | 2321 | these field names for backwards compatibility only | ||
1714 | 2322 | * Bump the dependency version requirement to 1.0.1-4ubuntu1 for the above | ||
1715 | 2323 | change | ||
1716 | 2324 | |||
1717 | 2325 | -- Steve Langasek <steve.langasek@ubuntu.com> Sat, 13 Sep 2008 08:55:19 +0000 | ||
1718 | 2326 | |||
1719 | 2327 | >>>>>>> debian/changelog | ||
1720 | 817 | pam (1.0.1-4) unstable; urgency=high | 2328 | pam (1.0.1-4) unstable; urgency=high |
1721 | 818 | 2329 | ||
1722 | 819 | * High-urgency upload for RC bugfix. | 2330 | * High-urgency upload for RC bugfix. |
1723 | @@ -836,6 +2347,91 @@ pam (1.0.1-4) unstable; urgency=high | |||
1724 | 836 | 2347 | ||
1725 | 837 | -- Steve Langasek <vorlon@debian.org> Thu, 28 Aug 2008 22:59:23 -0700 | 2348 | -- Steve Langasek <vorlon@debian.org> Thu, 28 Aug 2008 22:59:23 -0700 |
1726 | 838 | 2349 | ||
1727 | 2350 | <<<<<<< debian/changelog | ||
1728 | 2351 | ======= | ||
1729 | 2352 | pam (1.0.1-3ubuntu5) intrepid; urgency=low | ||
1730 | 2353 | |||
1731 | 2354 | [ Steve Langasek ] | ||
1732 | 2355 | * Never remove the .pam-old files; just avoid creating them if --force isn't | ||
1733 | 2356 | set. | ||
1734 | 2357 | * Add a manpage for pam-auth-update. | ||
1735 | 2358 | * Automatically upgrade the boilerplate for /etc/pam.d/common-* if we | ||
1736 | 2359 | detect that they have not been locally modified. | ||
1737 | 2360 | |||
1738 | 2361 | [ Kees Cook ] | ||
1739 | 2362 | * debian/local/common-password, debian/pam-configs/unix: switch from "md5" | ||
1740 | 2363 | to "sha512" as password crypt default. | ||
1741 | 2364 | |||
1742 | 2365 | -- Steve Langasek <steve.langasek@ubuntu.com> Tue, 26 Aug 2008 06:33:07 +0000 | ||
1743 | 2366 | |||
1744 | 2367 | pam (1.0.1-3ubuntu4) intrepid; urgency=low | ||
1745 | 2368 | |||
1746 | 2369 | * If two profiles have the same Priority, sort by the profile name to | ||
1747 | 2370 | ensure a complete sort so we can filter out all the duplicates from the | ||
1748 | 2371 | list and not write out broken configs. LP: #260371. | ||
1749 | 2372 | |||
1750 | 2373 | -- Steve Langasek <steve.langasek@ubuntu.com> Fri, 22 Aug 2008 17:33:14 +0000 | ||
1751 | 2374 | |||
1752 | 2375 | pam (1.0.1-3ubuntu3) intrepid; urgency=low | ||
1753 | 2376 | |||
1754 | 2377 | * s/pam-auth-config/pam-auth-update/ in the source, I can't seem to get | ||
1755 | 2378 | this name consistent to save my life - I'm starting to think I named it | ||
1756 | 2379 | wrong... | ||
1757 | 2380 | * Fix the regex used when suppressing jump counts when reading the saved | ||
1758 | 2381 | config, so that we don't clobber module options with numbers in them. | ||
1759 | 2382 | * If the target doesn't already exist, don't try to copy it. | ||
1760 | 2383 | * Filter the config list to exclude configs that no longer exist. | ||
1761 | 2384 | LP: #260122. | ||
1762 | 2385 | * Avoid unnecessary sort/grep in the case where we already have a sorted | ||
1763 | 2386 | list. | ||
1764 | 2387 | * Implement pam-auth-update --remove, for use in package prerms when called | ||
1765 | 2388 | with "remove". | ||
1766 | 2389 | |||
1767 | 2390 | -- Steve Langasek <steve.langasek@ubuntu.com> Thu, 21 Aug 2008 15:38:37 -0700 | ||
1768 | 2391 | |||
1769 | 2392 | pam (1.0.1-3ubuntu2) intrepid; urgency=high | ||
1770 | 2393 | |||
1771 | 2394 | * debian/local/common-session: the session stack needs to be handled the | ||
1772 | 2395 | same way as the password stack, with the possibility of zero primary | ||
1773 | 2396 | modules; required to fix build failures on the Ubuntu buildds due to | ||
1774 | 2397 | su not being able to open sessions by default. LP: #259867. | ||
1775 | 2398 | * debian/libpam-runtime.postinst: when upgrading from the broken | ||
1776 | 2399 | 1.0.1-2ubuntu1 version, manually edit /etc/pam.d/common-session to | ||
1777 | 2400 | recover. | ||
1778 | 2401 | |||
1779 | 2402 | -- Steve Langasek <steve.langasek@ubuntu.com> Wed, 20 Aug 2008 13:27:10 -0700 | ||
1780 | 2403 | |||
1781 | 2404 | pam (1.0.1-3ubuntu1) intrepid; urgency=low | ||
1782 | 2405 | |||
1783 | 2406 | * Merge from Debian unstable | ||
1784 | 2407 | * Remaining changes: | ||
1785 | 2408 | - debian/libpam-modules.postinst: Add PATH to /etc/environment if it's not | ||
1786 | 2409 | present there or in /etc/security/pam_env.conf. (should send to Debian). | ||
1787 | 2410 | - debian/libpam0g.postinst: only ask questions during update-manager when | ||
1788 | 2411 | there are non-default services running. | ||
1789 | 2412 | - debian/patches-applied/series: Ubuntu patches are as below ... | ||
1790 | 2413 | - debian/patches-applied/ubuntu-fix_standard_types: Use standard u_int8_t | ||
1791 | 2414 | type rather than __u8. | ||
1792 | 2415 | - debian/patches-applied/ubuntu-no-error-if-missingok: add a new, magic | ||
1793 | 2416 | module option 'missingok' which will suppress logging of errors by | ||
1794 | 2417 | libpam if the module is not found. | ||
1795 | 2418 | - debian/patches-applied/ubuntu-regression_fix_securetty: prompt for | ||
1796 | 2419 | password on bad username. | ||
1797 | 2420 | - debian/patches-applied/ubuntu-rlimit_nice_correction: Explicitly | ||
1798 | 2421 | initialise RLIMIT_NICE rather than relying on the kernel limits. | ||
1799 | 2422 | - debian/patches-applied/ubuntu-user_defined_environment: Look at | ||
1800 | 2423 | ~/.pam_environment too, with the same format as | ||
1801 | 2424 | /etc/security/pam_env.conf. (Originally patch 100; converted to quilt.) | ||
1802 | 2425 | - Change Vcs-Bzr to point at the Ubuntu branch. | ||
1803 | 2426 | - debian/local/pam-auth-update (et al): new interface for managing | ||
1804 | 2427 | /etc/pam.d/common-*, using drop-in config snippets provided by module | ||
1805 | 2428 | packages. | ||
1806 | 2429 | * Remove spurious 'conflict' with a non-existent module, which was added | ||
1807 | 2430 | just as an example | ||
1808 | 2431 | |||
1809 | 2432 | -- Steve Langasek <steve.langasek@ubuntu.com> Wed, 20 Aug 2008 11:58:35 -0700 | ||
1810 | 2433 | |||
1811 | 2434 | >>>>>>> debian/changelog | ||
1812 | 839 | pam (1.0.1-3) unstable; urgency=high | 2435 | pam (1.0.1-3) unstable; urgency=high |
1813 | 840 | 2436 | ||
1814 | 841 | * 055_pam_unix_nullok_secure: don't call _pammodutil_tty_secure with a NULL | 2437 | * 055_pam_unix_nullok_secure: don't call _pammodutil_tty_secure with a NULL |
1815 | @@ -845,6 +2441,43 @@ pam (1.0.1-3) unstable; urgency=high | |||
1816 | 845 | 2441 | ||
1817 | 846 | -- Steve Langasek <vorlon@debian.org> Wed, 20 Aug 2008 11:55:47 -0700 | 2442 | -- Steve Langasek <vorlon@debian.org> Wed, 20 Aug 2008 11:55:47 -0700 |
1818 | 847 | 2443 | ||
1819 | 2444 | <<<<<<< debian/changelog | ||
1820 | 2445 | ======= | ||
1821 | 2446 | pam (1.0.1-2ubuntu1) intrepid; urgency=low | ||
1822 | 2447 | |||
1823 | 2448 | * Merge from Debian unstable | ||
1824 | 2449 | * Remaining changes: | ||
1825 | 2450 | - debian/libpam-modules.postinst: Add PATH to /etc/environment if it's not | ||
1826 | 2451 | present there or in /etc/security/pam_env.conf. (should send to Debian). | ||
1827 | 2452 | - debian/libpam-runtime.postinst, | ||
1828 | 2453 | debian/local/common-{auth,password}{,.md5sums}: | ||
1829 | 2454 | Use the new 'missingok' option by default for pam_smbpass in case | ||
1830 | 2455 | libpam-smbpass is not installed (LP: #216990); must use "requisite" | ||
1831 | 2456 | rather than "required" to prevent "pam_smbpass migrate" from firing in | ||
1832 | 2457 | the event of an auth failure; md5sums updated accordingly. | ||
1833 | 2458 | - debian/libpam0g.postinst: only ask questions during update-manager when | ||
1834 | 2459 | there are non-default services running. | ||
1835 | 2460 | - debian/patches-applied/series: Ubuntu patches are as below ... | ||
1836 | 2461 | - debian/patches-applied/ubuntu-fix_standard_types: Use standard u_int8_t | ||
1837 | 2462 | type rather than __u8. | ||
1838 | 2463 | - debian/patches-applied/ubuntu-no-error-if-missingok: add a new, magic | ||
1839 | 2464 | module option 'missingok' which will suppress logging of errors by | ||
1840 | 2465 | libpam if the module is not found. | ||
1841 | 2466 | - debian/patches-applied/ubuntu-regression_fix_securetty: prompt for | ||
1842 | 2467 | password on bad username. | ||
1843 | 2468 | - debian/patches-applied/ubuntu-rlimit_nice_correction: Explicitly | ||
1844 | 2469 | initialise RLIMIT_NICE rather than relying on the kernel limits. | ||
1845 | 2470 | - debian/patches-applied/ubuntu-user_defined_environment: Look at | ||
1846 | 2471 | ~/.pam_environment too, with the same format as | ||
1847 | 2472 | /etc/security/pam_env.conf. (Originally patch 100; converted to quilt.) | ||
1848 | 2473 | - Change Vcs-Bzr to point at the Ubuntu branch. | ||
1849 | 2474 | * debian/local/pam-auth-update (et al): new interface for managing | ||
1850 | 2475 | /etc/pam.d/common-*, using drop-in config snippets provided by module | ||
1851 | 2476 | packages. | ||
1852 | 2477 | |||
1853 | 2478 | -- Steve Langasek <steve.langasek@ubuntu.com> Wed, 20 Aug 2008 09:17:28 +0000 | ||
1854 | 2479 | |||
1855 | 2480 | >>>>>>> debian/changelog | ||
1856 | 848 | pam (1.0.1-2) unstable; urgency=low | 2481 | pam (1.0.1-2) unstable; urgency=low |
1857 | 849 | 2482 | ||
1858 | 850 | * 007_modules_pam_unix: update the documentation to correctly document | 2483 | * 007_modules_pam_unix: update the documentation to correctly document |
1859 | @@ -869,6 +2502,52 @@ pam (1.0.1-2) unstable; urgency=low | |||
1860 | 869 | 2502 | ||
1861 | 870 | -- Steve Langasek <vorlon@debian.org> Fri, 08 Aug 2008 10:47:26 -0700 | 2503 | -- Steve Langasek <vorlon@debian.org> Fri, 08 Aug 2008 10:47:26 -0700 |
1862 | 871 | 2504 | ||
1863 | 2505 | <<<<<<< debian/changelog | ||
1864 | 2506 | ======= | ||
1865 | 2507 | pam (1.0.1-1ubuntu1) intrepid; urgency=low | ||
1866 | 2508 | |||
1867 | 2509 | * Merge from Debian unstable | ||
1868 | 2510 | * Dropped changes: | ||
1869 | 2511 | - Linux-PAM/modules/pam_selinux/pam_selinux.8: Ubuntu pam_selinux manpage | ||
1870 | 2512 | is 2 years newer than Debian's, contains a number of character escaping | ||
1871 | 2513 | fixes plus content updates | ||
1872 | 2514 | - debian/patches-applied/ubuntu-pam_selinux_seusers: patch pam_selinux to | ||
1873 | 2515 | correctly support seusers (backported from changes in PAM 0.99.8). | ||
1874 | 2516 | - debian/rules: install unix_chkpwd setgid shadow instead of setuid root. | ||
1875 | 2517 | The nis package handles overriding this as necessary. | ||
1876 | 2518 | - debian/patches-applied/ubuntu-rlimit_nice_correction: Bound RLIMIT_NICE | ||
1877 | 2519 | from below as well as from above. Fix off-by-one error when converting | ||
1878 | 2520 | RLIMIT_NICE to the range of values used by the kernel. | ||
1879 | 2521 | * Remaining changes: | ||
1880 | 2522 | - debian/libpam-modules.postinst: Add PATH to /etc/environment if it's not | ||
1881 | 2523 | present there or in /etc/security/pam_env.conf. (should send to Debian). | ||
1882 | 2524 | - debian/libpam-runtime.postinst, | ||
1883 | 2525 | debian/local/common-{auth,password}{,.md5sums}: | ||
1884 | 2526 | Use the new 'missingok' option by default for pam_smbpass in case | ||
1885 | 2527 | libpam-smbpass is not installed (LP: #216990); must use "requisite" | ||
1886 | 2528 | rather than "required" to prevent "pam_smbpass migrate" from firing in | ||
1887 | 2529 | the event of an auth failure; md5sums updated accordingly. | ||
1888 | 2530 | - debian/libpam0g.postinst: only ask questions during update-manager when | ||
1889 | 2531 | there are non-default services running. | ||
1890 | 2532 | - debian/patches-applied/series: Ubuntu patches are as below ... | ||
1891 | 2533 | - debian/patches-applied/ubuntu-fix_standard_types: Use standard u_int8_t | ||
1892 | 2534 | type rather than __u8. | ||
1893 | 2535 | - debian/patches-applied/ubuntu-no-error-if-missingok: add a new, magic | ||
1894 | 2536 | module option 'missingok' which will suppress logging of errors by | ||
1895 | 2537 | libpam if the module is not found. | ||
1896 | 2538 | - debian/patches-applied/ubuntu-regression_fix_securetty: prompt for | ||
1897 | 2539 | password on bad username. | ||
1898 | 2540 | - debian/patches-applied/ubuntu-rlimit_nice_correction: Explicitly | ||
1899 | 2541 | initialise RLIMIT_NICE rather than relying on the kernel limits. | ||
1900 | 2542 | - debian/patches-applied/ubuntu-user_defined_environment: Look at | ||
1901 | 2543 | ~/.pam_environment too, with the same format as | ||
1902 | 2544 | /etc/security/pam_env.conf. (Originally patch 100; converted to quilt.) | ||
1903 | 2545 | * Refresh patch ubuntu-no-error-if-missingok for the new upstream version. | ||
1904 | 2546 | * Change Vcs-Bzr to point at the new Ubuntu branch. | ||
1905 | 2547 | |||
1906 | 2548 | -- Steve Langasek <steve.langasek@ubuntu.com> Mon, 28 Jul 2008 20:58:26 +0000 | ||
1907 | 2549 | |||
1908 | 2550 | >>>>>>> debian/changelog | ||
1909 | 872 | pam (1.0.1-1) unstable; urgency=low | 2551 | pam (1.0.1-1) unstable; urgency=low |
1910 | 873 | 2552 | ||
1911 | 874 | * New upstream version. | 2553 | * New upstream version. |
1912 | @@ -984,6 +2663,72 @@ pam (0.99.7.1-7) unstable; urgency=medium | |||
1913 | 984 | 2663 | ||
1914 | 985 | -- Steve Langasek <vorlon@debian.org> Mon, 21 Jul 2008 11:49:59 -0700 | 2664 | -- Steve Langasek <vorlon@debian.org> Mon, 21 Jul 2008 11:49:59 -0700 |
1915 | 986 | 2665 | ||
1916 | 2666 | <<<<<<< debian/changelog | ||
1917 | 2667 | ======= | ||
1918 | 2668 | pam (0.99.7.1-6ubuntu2) intrepid; urgency=low | ||
1919 | 2669 | |||
1920 | 2670 | * debian/libpam-modules.postinst: revert addition of ~/bin to the end of the | ||
1921 | 2671 | default PATH set in /etc/environment as it was pointed out by Colin | ||
1922 | 2672 | Watson that getenv() does not properly expand '~' | ||
1923 | 2673 | |||
1924 | 2674 | -- Jamie Strandboge <jamie@ubuntu.com> Tue, 24 Jun 2008 06:29:40 -0400 | ||
1925 | 2675 | |||
1926 | 2676 | pam (0.99.7.1-6ubuntu1) intrepid; urgency=low | ||
1927 | 2677 | |||
1928 | 2678 | * Merge from debian unstable | ||
1929 | 2679 | * Dropped changes: | ||
1930 | 2680 | - Linux-PAM/modules/pam_limits/README, | ||
1931 | 2681 | Linux-PAM/modules/pam_selinux/README: Ubuntu versions had some | ||
1932 | 2682 | insignificant character differences, dropping in favor of Debian | ||
1933 | 2683 | versions; pam_selinux documentation has dropped "multiple", and added | ||
1934 | 2684 | "select_context", and "use_current_range" as options. | ||
1935 | 2685 | - debian/control, debian/local/common-session{,md5sums}: use | ||
1936 | 2686 | libpam-foreground for session management. | ||
1937 | 2687 | - Build using db4.5 instead of db4.6. | ||
1938 | 2688 | * Remaining changes: | ||
1939 | 2689 | - Linux-PAM/modules/pam_selinux/pam_selinux.8: Ubuntu pam_selinux manpage | ||
1940 | 2690 | is 2 years newer than Debian's, contains a number of character escaping | ||
1941 | 2691 | fixes plus content updates; (should send to Debian). | ||
1942 | 2692 | - debian/control: Maintainer updated. | ||
1943 | 2693 | - debian/libpam-modules.postinst: Add PATH to /etc/environment if it's not | ||
1944 | 2694 | present there or in /etc/security/pam_env.conf; add ~/bin to PATH | ||
1945 | 2695 | (LP: #64064); (should send to Debian). | ||
1946 | 2696 | - debian/libpam-runtime.postinst, | ||
1947 | 2697 | debian/local/common-{auth,password}{,.md5sums}: | ||
1948 | 2698 | Use the new 'missingok' option by default for pam_smbpass in case | ||
1949 | 2699 | libpam-smbpass is not installed (LP: #216990); must use "requisite" | ||
1950 | 2700 | rather than "required" to prevent "pam_smbpass migrate" from firing in | ||
1951 | 2701 | the event of an auth failure; md5sums updated accordingly. | ||
1952 | 2702 | - debian/libpam0g.postinst: only ask questions during update-manager when | ||
1953 | 2703 | there are non-default services running (LP: #141309). | ||
1954 | 2704 | - debian/applied/series: Ubuntu patches are as below ... | ||
1955 | 2705 | - debian/patches-applied/ubuntu-fix_standard_types: Use standard u_int8_t | ||
1956 | 2706 | type rather than __u8. | ||
1957 | 2707 | - debian/patches-applied/ubuntu-no-error-if-missingok: add a new, magic | ||
1958 | 2708 | module option 'missingok' which will suppress logging of errors by | ||
1959 | 2709 | libpam if the module is not found. | ||
1960 | 2710 | - debian/patches-applied/ubuntu-pam_selinux_seusers: patch pam_selinux to | ||
1961 | 2711 | correctly support seusers (backported from changes in PAM 0.99.8). | ||
1962 | 2712 | Without this patch login will not get correct security context when | ||
1963 | 2713 | using libselinux >= 1.27.2 (LP: #187822). | ||
1964 | 2714 | - debian/patches-applied/ubuntu-regression_fix_securetty: securetty's | ||
1965 | 2715 | earlier behavior would correctly prompt for password on bad usernames | ||
1966 | 2716 | (LP: #139075). | ||
1967 | 2717 | - debian/patches-applied/ubuntu-rlimit_nice_correction: Explicitly | ||
1968 | 2718 | initialise RLIMIT_NICE rather than relying on the kernel limits. Bound | ||
1969 | 2719 | RLIMIT_NICE from below as well as from above. Fix off-by-one error when | ||
1970 | 2720 | converting RLIMIT_NICE to the range of values used by the kernel. | ||
1971 | 2721 | - debian/patches-applied/ubuntu-user_defined_environment: Look at | ||
1972 | 2722 | ~/.pam_environment too, with the same format as | ||
1973 | 2723 | /etc/security/pam_env.conf. (Originally patch 100; converted to quilt.) | ||
1974 | 2724 | - debian/rules: install unix_chkpwd setgid shadow instead of setuid root. | ||
1975 | 2725 | The nis package handles overriding this as necessary. | ||
1976 | 2726 | * Alphabetized this merge changelog entry by filename (easier reading | ||
1977 | 2727 | against Ubuntu patch). | ||
1978 | 2728 | |||
1979 | 2729 | -- Dustin Kirkland <kirkland@ubuntu.com> Fri, 20 Jun 2008 10:32:00 -0500 | ||
1980 | 2730 | |||
1981 | 2731 | >>>>>>> debian/changelog | ||
1982 | 987 | pam (0.99.7.1-6) unstable; urgency=low | 2732 | pam (0.99.7.1-6) unstable; urgency=low |
1983 | 988 | 2733 | ||
1984 | 989 | * Debconf translations: | 2734 | * Debconf translations: |
1985 | @@ -1010,6 +2755,101 @@ pam (0.99.7.1-6) unstable; urgency=low | |||
1986 | 1010 | 2755 | ||
1987 | 1011 | -- Steve Langasek <vorlon@debian.org> Sun, 16 Mar 2008 02:06:28 -0700 | 2756 | -- Steve Langasek <vorlon@debian.org> Sun, 16 Mar 2008 02:06:28 -0700 |
1988 | 1012 | 2757 | ||
1989 | 2758 | <<<<<<< debian/changelog | ||
1990 | 2759 | ======= | ||
1991 | 2760 | pam (0.99.7.1-5ubuntu8) intrepid; urgency=low | ||
1992 | 2761 | |||
1993 | 2762 | * debian/libpam-modules.postinst: Add ~/bin to the end of the default PATH | ||
1994 | 2763 | set in /etc/environment (LP: #64064). | ||
1995 | 2764 | |||
1996 | 2765 | -- Dustin Kirkland <kirkland@ubuntu.com> Thu, 19 Jun 2008 12:52:48 -0500 | ||
1997 | 2766 | |||
1998 | 2767 | pam (0.99.7.1-5ubuntu7) intrepid; urgency=low | ||
1999 | 2768 | |||
2000 | 2769 | * debian/patches-applied/ubuntu-no-error-if-missingok: add a new, magic | ||
2001 | 2770 | module option 'missingok' which will suppress logging of errors by | ||
2002 | 2771 | libpam if the module is not found. | ||
2003 | 2772 | * debian/local/common-{auth,password}, debian/libpam-runtime.postinst: | ||
2004 | 2773 | Use the new 'missingok' option by default for pam_smbpass, to | ||
2005 | 2774 | correct the problem of very loud logging introduced in the previous | ||
2006 | 2775 | upload when libpam-smbpass is not installed. LP: #216990. | ||
2007 | 2776 | |||
2008 | 2777 | -- Steve Langasek <steve.langasek@ubuntu.com> Tue, 22 Apr 2008 18:53:37 +0000 | ||
2009 | 2778 | |||
2010 | 2779 | pam (0.99.7.1-5ubuntu6) hardy; urgency=low | ||
2011 | 2780 | |||
2012 | 2781 | * debian/local/common-{auth,password}, debian/libpam-runtime.postinst: | ||
2013 | 2782 | Add pam_smbpass as an optional module in the stack, to keep NTLM | ||
2014 | 2783 | passwords (for filesharing) in sync with the main system passwords on a | ||
2015 | 2784 | best-effort basis. LP: #208419. | ||
2016 | 2785 | |||
2017 | 2786 | -- Steve Langasek <steve.langasek@ubuntu.com> Tue, 08 Apr 2008 18:21:40 +0000 | ||
2018 | 2787 | |||
2019 | 2788 | pam (0.99.7.1-5ubuntu5) hardy; urgency=low | ||
2020 | 2789 | |||
2021 | 2790 | * debian/local/common-session: Drop libpam-foreground. It's gone for good, | ||
2022 | 2791 | and we do not want this in the PAM config for new installations, since it | ||
2023 | 2792 | just spams syslog with error messages. (LP: #198714) | ||
2024 | 2793 | |||
2025 | 2794 | -- Martin Pitt <martin.pitt@ubuntu.com> Tue, 11 Mar 2008 11:22:11 +0100 | ||
2026 | 2795 | |||
2027 | 2796 | pam (0.99.7.1-5ubuntu4) hardy; urgency=low | ||
2028 | 2797 | |||
2029 | 2798 | * ubuntu-pam_selinux_seusers: patch pam_selinux to correctly support | ||
2030 | 2799 | seusers (backported from changes in PAM 0.99.8). Without this patch | ||
2031 | 2800 | login will not get correct security context when using libselinux | ||
2032 | 2801 | >= 1.27.2 (LP: #187822). | ||
2033 | 2802 | |||
2034 | 2803 | -- Caleb Case <ccase@tresys.com> Wed, 30 Jan 2008 06:39:48 -0500 | ||
2035 | 2804 | |||
2036 | 2805 | pam (0.99.7.1-5ubuntu3) hardy; urgency=low | ||
2037 | 2806 | |||
2038 | 2807 | * Temporarily reenable libpam-foreground in common-session again, until | ||
2039 | 2808 | dbus' at_console policy works with ConsoleKit. | ||
2040 | 2809 | |||
2041 | 2810 | -- Martin Pitt <martin.pitt@ubuntu.com> Thu, 29 Nov 2007 15:17:54 +0100 | ||
2042 | 2811 | |||
2043 | 2812 | pam (0.99.7.1-5ubuntu2) hardy; urgency=low | ||
2044 | 2813 | |||
2045 | 2814 | * debian/local/common-session{,.md5sums}, debian/control: Drop | ||
2046 | 2815 | libpam-foreground, superseded by ConsoleKit integration into hal. | ||
2047 | 2816 | * debian/control: Build against libdb4.6 again. This drops this Debian delta | ||
2048 | 2817 | and 4.6 is our target version in Hardy. | ||
2049 | 2818 | |||
2050 | 2819 | -- Martin Pitt <martin.pitt@ubuntu.com> Thu, 22 Nov 2007 18:56:47 +0100 | ||
2051 | 2820 | |||
2052 | 2821 | pam (0.99.7.1-5ubuntu1) gutsy; urgency=low | ||
2053 | 2822 | |||
2054 | 2823 | * Resynchronise with Debian. Remaining changes: | ||
2055 | 2824 | - debian/control, debian/local/common-session{,md5sums}: use | ||
2056 | 2825 | libpam-foreground for session management. | ||
2057 | 2826 | - debian/rules: install unix_chkpwd setgid shadow instead of setuid root. | ||
2058 | 2827 | The nis package handles overriding this as necessary. | ||
2059 | 2828 | - debian/libpam-modules.postinst: Add PATH to /etc/environment if it's not | ||
2060 | 2829 | present there or in /etc/security/pam_env.conf. | ||
2061 | 2830 | - debian/patches-applied/ubuntu-fix_standard_types: Use standard u_int8_t | ||
2062 | 2831 | type rather than __u8. | ||
2063 | 2832 | - debian/patches-applied/ubuntu-rlimit_nice_correction: Explicitly | ||
2064 | 2833 | initialise RLIMIT_NICE rather than relying on the kernel limits. Bound | ||
2065 | 2834 | RLIMIT_NICE from below as well as from above. Fix off-by-one error when | ||
2066 | 2835 | converting RLIMIT_NICE to the range of values used by the kernel. | ||
2067 | 2836 | (Originally patch 101; converted to quilt.) | ||
2068 | 2837 | - debian/patches-applied/ubuntu-user_defined_environment: Look at | ||
2069 | 2838 | ~/.pam_environment too, with the same format as | ||
2070 | 2839 | /etc/security/pam_env.conf. (Originally patch 100; converted to quilt.) | ||
2071 | 2840 | - debian/patches-applied/ubuntu-regression_fix_securetty: securetty's | ||
2072 | 2841 | earlier behavior would correctly prompt for password on bad usernames | ||
2073 | 2842 | (LP: #139075). | ||
2074 | 2843 | - Build using db4.5 instead of db4.6. | ||
2075 | 2844 | - debian/libpam0g.postinst: only ask questions during update-manager when | ||
2076 | 2845 | there are non-default services running (LP: #141309). | ||
2077 | 2846 | * debian/libpam0g.postinst: don't display a debconf warning about display | ||
2078 | 2847 | managers that need restarting when update-manager is running, instead | ||
2079 | 2848 | signal to update-notifier if a reboot is required. | ||
2080 | 2849 | |||
2081 | 2850 | -- Steve Langasek <vorlon@debian.org> Fri, 28 Sep 2007 23:45:24 -0700 | ||
2082 | 2851 | |||
2083 | 2852 | >>>>>>> debian/changelog | ||
2084 | 1013 | pam (0.99.7.1-5) unstable; urgency=low | 2853 | pam (0.99.7.1-5) unstable; urgency=low |
2085 | 1014 | 2854 | ||
2086 | 1015 | * More lintian overrides, related to debconf prompting in the postinst | 2855 | * More lintian overrides, related to debconf prompting in the postinst |
2087 | @@ -1054,6 +2894,58 @@ pam (0.99.7.1-5) unstable; urgency=low | |||
2088 | 1054 | 2894 | ||
2089 | 1055 | -- Steve Langasek <vorlon@debian.org> Fri, 28 Sep 2007 00:17:00 -0700 | 2895 | -- Steve Langasek <vorlon@debian.org> Fri, 28 Sep 2007 00:17:00 -0700 |
2090 | 1056 | 2896 | ||
2091 | 2897 | <<<<<<< debian/changelog | ||
2092 | 2898 | ======= | ||
2093 | 2899 | pam (0.99.7.1-4ubuntu4) gutsy; urgency=low | ||
2094 | 2900 | |||
2095 | 2901 | * debian/libpam0g.postinst: call "reload" for all display managers | ||
2096 | 2902 | (LP: #139065). | ||
2097 | 2903 | * debian/libpam0g.postinst: only ask questions during update-manager when | ||
2098 | 2904 | there are non-default services running (LP: #141309). | ||
2099 | 2905 | |||
2100 | 2906 | -- Kees Cook <kees@ubuntu.com> Mon, 24 Sep 2007 15:01:29 -0700 | ||
2101 | 2907 | |||
2102 | 2908 | pam (0.99.7.1-4ubuntu3) gutsy; urgency=low | ||
2103 | 2909 | |||
2104 | 2910 | * ubuntu-regression_fix_securetty: securetty's earlier behavior would | ||
2105 | 2911 | correctly prompt for password on bad usernames (LP: #139075). | ||
2106 | 2912 | |||
2107 | 2913 | -- Kees Cook <kees@ubuntu.com> Wed, 12 Sep 2007 15:20:09 -0700 | ||
2108 | 2914 | |||
2109 | 2915 | pam (0.99.7.1-4ubuntu2) gutsy; urgency=low | ||
2110 | 2916 | |||
2111 | 2917 | * Build using db4.5 (instead of db4.6). One db4.x version less on the CD. | ||
2112 | 2918 | |||
2113 | 2919 | -- Matthias Klose <doko@ubuntu.com> Wed, 12 Sep 2007 17:44:25 +0200 | ||
2114 | 2920 | |||
2115 | 2921 | pam (0.99.7.1-4ubuntu1) gutsy; urgency=low | ||
2116 | 2922 | |||
2117 | 2923 | * Resynchronise with Debian (LP: #43169, #14505, #80431). Remaining changes: | ||
2118 | 2924 | - debian/control, debian/local/common-session{,md5sums}: use | ||
2119 | 2925 | libpam-foreground for session management. | ||
2120 | 2926 | - debian/rules: install unix_chkpwd setgid shadow instead of setuid root. | ||
2121 | 2927 | The nis package handles overriding this as necessary. | ||
2122 | 2928 | - debian/libpam-modules.postinst: Add PATH to /etc/environment if it's not | ||
2123 | 2929 | present there or in /etc/security/pam_env.conf. | ||
2124 | 2930 | - debian/patches-applied/ubuntu-fix_standard_types: Use standard u_int8_t | ||
2125 | 2931 | type rather than __u8. | ||
2126 | 2932 | - debian/patches-applied/ubuntu-rlimit_nice_correction: Explicitly | ||
2127 | 2933 | initialise RLIMIT_NICE rather than relying on the kernel limits. Bound | ||
2128 | 2934 | RLIMIT_NICE from below as well as from above. Fix off-by-one error when | ||
2129 | 2935 | converting RLIMIT_NICE to the range of values used by the kernel. | ||
2130 | 2936 | (Originally patch 101; converted to quilt.) | ||
2131 | 2937 | - debian/patches-applied/ubuntu-user_defined_environment: Look at | ||
2132 | 2938 | ~/.pam_environment too, with the same format as | ||
2133 | 2939 | /etc/security/pam_env.conf. (Originally patch 100; converted to quilt.) | ||
2134 | 2940 | * Dropped: | ||
2135 | 2941 | - debian/rules: bashism fixes (merged upstream). | ||
2136 | 2942 | - debian/control: Conflict on ancient nis (expired with Breezy). | ||
2137 | 2943 | - debian/libpam-runtime.postinst: check for ancient pam (expired with | ||
2138 | 2944 | Breezy). | ||
2139 | 2945 | |||
2140 | 2946 | -- Kees Cook <kees@ubuntu.com> Wed, 05 Sep 2007 15:18:36 -0700 | ||
2141 | 2947 | |||
2142 | 2948 | >>>>>>> debian/changelog | ||
2143 | 1057 | pam (0.99.7.1-4) unstable; urgency=low | 2949 | pam (0.99.7.1-4) unstable; urgency=low |
2144 | 1058 | 2950 | ||
2145 | 1059 | * libpam0g.postinst, libpam0g.templates: gdm doesn't need to be restarted | 2951 | * libpam0g.postinst, libpam0g.templates: gdm doesn't need to be restarted |
2146 | @@ -1300,6 +3192,35 @@ pam (0.99.7.1-2) unstable; urgency=low | |||
2147 | 1300 | 3192 | ||
2148 | 1301 | -- Steve Langasek <vorlon@debian.org> Sun, 26 Aug 2007 19:15:09 -0700 | 3193 | -- Steve Langasek <vorlon@debian.org> Sun, 26 Aug 2007 19:15:09 -0700 |
2149 | 1302 | 3194 | ||
2150 | 3195 | <<<<<<< debian/changelog | ||
2151 | 3196 | ======= | ||
2152 | 3197 | pam (0.79-4ubuntu2) feisty; urgency=low | ||
2153 | 3198 | |||
2154 | 3199 | * Remove /usr/bin/X11 from default PATH (new installs only). | ||
2155 | 3200 | |||
2156 | 3201 | -- Colin Watson <cjwatson@ubuntu.com> Wed, 20 Dec 2006 16:14:37 +0000 | ||
2157 | 3202 | |||
2158 | 3203 | pam (0.79-4ubuntu1) feisty; urgency=low | ||
2159 | 3204 | |||
2160 | 3205 | * Resynchronise with Debian. Remaining changes: | ||
2161 | 3206 | - Patch 100 (renumbered from 060): Look at ~/.pam_environment too, with | ||
2162 | 3207 | the same format as /etc/security/pam_env.conf. | ||
2163 | 3208 | - Patch 101 (renumbered from 061): Explicitly initialise RLIMIT_NICE | ||
2164 | 3209 | rather than relying on the kernel limits. Bound RLIMIT_NICE from below | ||
2165 | 3210 | as well as from above. Fix off-by-one error when converting | ||
2166 | 3211 | RLIMIT_NICE to the range of values used by the kernel. | ||
2167 | 3212 | - Add PATH to /etc/environment if it's not present there or in | ||
2168 | 3213 | /etc/security/pam_env.conf. | ||
2169 | 3214 | - debian/rules: Fix a bashism. | ||
2170 | 3215 | - Install unix_chkpwd setgid shadow instead of setuid root. The nis | ||
2171 | 3216 | package handles overriding this as necessary. | ||
2172 | 3217 | - Use pam_foreground in the default session. | ||
2173 | 3218 | - Linux-PAM/libpamc/test/regress/test.libpamc.c: Use standard u_int8_t | ||
2174 | 3219 | type rather than __u8. | ||
2175 | 3220 | |||
2176 | 3221 | -- Colin Watson <cjwatson@ubuntu.com> Tue, 19 Dec 2006 10:32:47 +0000 | ||
2177 | 3222 | |||
2178 | 3223 | >>>>>>> debian/changelog | ||
2179 | 1303 | pam (0.79-4) unstable; urgency=medium | 3224 | pam (0.79-4) unstable; urgency=medium |
2180 | 1304 | 3225 | ||
2181 | 1305 | * Medium-urgency upload; at least one RC bugfix, but also a | 3226 | * Medium-urgency upload; at least one RC bugfix, but also a |
2182 | @@ -1352,6 +3273,15 @@ pam (0.79-3.2) unstable; urgency=low | |||
2183 | 1352 | 3273 | ||
2184 | 1353 | -- Margarita Manterola <marga@debian.org> Sat, 5 Aug 2006 02:11:22 -0300 | 3274 | -- Margarita Manterola <marga@debian.org> Sat, 5 Aug 2006 02:11:22 -0300 |
2185 | 1354 | 3275 | ||
2186 | 3276 | <<<<<<< debian/changelog | ||
2187 | 3277 | ======= | ||
2188 | 3278 | pam (0.79-3.1ubuntu1) edgy; urgency=low | ||
2189 | 3279 | |||
2190 | 3280 | * Resynchronise with Debian. | ||
2191 | 3281 | |||
2192 | 3282 | -- Colin Watson <cjwatson@ubuntu.com> Thu, 29 Jun 2006 17:27:34 +0100 | ||
2193 | 3283 | |||
2194 | 3284 | >>>>>>> debian/changelog | ||
2195 | 1355 | pam (0.79-3.1) unstable; urgency=low | 3285 | pam (0.79-3.1) unstable; urgency=low |
2196 | 1356 | 3286 | ||
2197 | 1357 | * Non-maintainer upload. | 3287 | * Non-maintainer upload. |
2198 | @@ -1362,6 +3292,117 @@ pam (0.79-3.1) unstable; urgency=low | |||
2199 | 1362 | 3292 | ||
2200 | 1363 | -- Roger Leigh <rleigh@debian.org> Sun, 5 Feb 2006 21:46:59 +0000 | 3293 | -- Roger Leigh <rleigh@debian.org> Sun, 5 Feb 2006 21:46:59 +0000 |
2201 | 1364 | 3294 | ||
2202 | 3295 | <<<<<<< debian/changelog | ||
2203 | 3296 | ======= | ||
2204 | 3297 | pam (0.79-3ubuntu14) dapper; urgency=low | ||
2205 | 3298 | |||
2206 | 3299 | * debian/patches-applied/061_pam_rlimits_nice_rtprio: Protect use of | ||
2207 | 3300 | RLIMIT_NICE in init_limits() with an #ifdef. | ||
2208 | 3301 | |||
2209 | 3302 | -- Colin Watson <cjwatson@ubuntu.com> Fri, 12 May 2006 17:42:40 +0100 | ||
2210 | 3303 | |||
2211 | 3304 | pam (0.79-3ubuntu13) dapper; urgency=low | ||
2212 | 3305 | |||
2213 | 3306 | * debian/patches-applied/061_pam_rlimits_nice_rtprio: Set soft and hard | ||
2214 | 3307 | nice limits to 20 (= userland nice value 0) rather than unlimited by | ||
2215 | 3308 | default. Correct off-by-one error (the same error as in Linux 2.6.12, | ||
2216 | 3309 | but fixed in 2.6.13) in user<->kernel translation of nice limit. | ||
2217 | 3310 | |||
2218 | 3311 | -- Colin Watson <cjwatson@ubuntu.com> Thu, 11 May 2006 11:29:58 +0100 | ||
2219 | 3312 | |||
2220 | 3313 | pam (0.79-3ubuntu12) dapper; urgency=low | ||
2221 | 3314 | |||
2222 | 3315 | * debian/control: Add libpam-foreground dependency to libpam-runtime, since | ||
2223 | 3316 | the default /etc/pam.d/common-session refers to it. Closes: LP#35142 | ||
2224 | 3317 | |||
2225 | 3318 | -- Martin Pitt <martin.pitt@ubuntu.com> Mon, 10 Apr 2006 14:42:40 +0200 | ||
2226 | 3319 | |||
2227 | 3320 | pam (0.79-3ubuntu11) dapper; urgency=low | ||
2228 | 3321 | |||
2229 | 3322 | [ Dana Olson ] | ||
2230 | 3323 | * debian/patches-applied/061_pam_rlimits_nice_rtprio: removed glibc | ||
2231 | 3324 | workaround now that glibc is aware of rlimits. | ||
2232 | 3325 | |||
2233 | 3326 | [ Martin Pitt ] | ||
2234 | 3327 | * debian/rules: Fix bashisms. | ||
2235 | 3328 | |||
2236 | 3329 | -- Martin Pitt <martin.pitt@ubuntu.com> Thu, 6 Apr 2006 15:03:37 +0200 | ||
2237 | 3330 | |||
2238 | 3331 | pam (0.79-3ubuntu10) dapper; urgency=low | ||
2239 | 3332 | |||
2240 | 3333 | * debian/patches-applied/061_pam_rlimits_nice_rtprio: Support "nice" and | ||
2241 | 3334 | "rtprio" rlimits, new in Linux 2.6.12. Backported from upstream thanks | ||
2242 | 3335 | to Dana Olson and others (closes: Malone #17348). | ||
2243 | 3336 | |||
2244 | 3337 | -- Colin Watson <cjwatson@ubuntu.com> Thu, 23 Feb 2006 16:22:12 +0000 | ||
2245 | 3338 | |||
2246 | 3339 | pam (0.79-3ubuntu9) dapper; urgency=low | ||
2247 | 3340 | |||
2248 | 3341 | * Fix operator precedence in libpam-modules.postinst. | ||
2249 | 3342 | |||
2250 | 3343 | -- Colin Watson <cjwatson@ubuntu.com> Thu, 16 Feb 2006 15:23:04 +0000 | ||
2251 | 3344 | |||
2252 | 3345 | pam (0.79-3ubuntu8) dapper; urgency=low | ||
2253 | 3346 | |||
2254 | 3347 | * Make pam_env be quiet if it can't find the user's configuration file, | ||
2255 | 3348 | since it's optional. | ||
2256 | 3349 | |||
2257 | 3350 | -- Tollef Fog Heen <tfheen@ubuntu.com> Sat, 4 Feb 2006 16:44:12 +0100 | ||
2258 | 3351 | |||
2259 | 3352 | pam (0.79-3ubuntu7) dapper; urgency=low | ||
2260 | 3353 | |||
2261 | 3354 | * Add the PATH on initial install for real this time. | ||
2262 | 3355 | |||
2263 | 3356 | -- Tollef Fog Heen <tfheen@ubuntu.com> Thu, 2 Feb 2006 20:33:42 +0100 | ||
2264 | 3357 | |||
2265 | 3358 | pam (0.79-3ubuntu6) dapper; urgency=low | ||
2266 | 3359 | |||
2267 | 3360 | * Changes from Roger Leigh: | ||
2268 | 3361 | |||
2269 | 3362 | * Linux-PAM/libpamc/include/security/pam_client.h, | ||
2270 | 3363 | Linux-PAM/libpamc/pamc_converse.c: Apply patch from | ||
2271 | 3364 | latest upstream version to remove redefinition of internal | ||
2272 | 3365 | glibc/libstdc++ types. Closes: #344447. | ||
2273 | 3366 | * Linux-PAM/libpamc/test/regress/test.libpamc.c: Also switch to standard | ||
2274 | 3367 | types; not taken from upstream. | ||
2275 | 3368 | |||
2276 | 3369 | -- Reinhard Tartler <siretart@ubuntu.com> Wed, 1 Feb 2006 13:14:24 +0000 | ||
2277 | 3370 | |||
2278 | 3371 | pam (0.79-3ubuntu5) dapper; urgency=low | ||
2279 | 3372 | |||
2280 | 3373 | * Add pam_foreground to /etc/pam.d/common-session | ||
2281 | 3374 | |||
2282 | 3375 | -- Matthew Garrett <mjg59@srcf.ucam.org> Tue, 24 Jan 2006 02:26:19 +0000 | ||
2283 | 3376 | |||
2284 | 3377 | pam (0.79-3ubuntu4) dapper; urgency=low | ||
2285 | 3378 | |||
2286 | 3379 | * Add PATH on initial install, too. | ||
2287 | 3380 | |||
2288 | 3381 | -- Tollef Fog Heen <tfheen@ubuntu.com> Mon, 23 Jan 2006 15:55:40 +0100 | ||
2289 | 3382 | |||
2290 | 3383 | pam (0.79-3ubuntu3) dapper; urgency=low | ||
2291 | 3384 | |||
2292 | 3385 | * Add PATH to /etc/environment if it's not present there or in | ||
2293 | 3386 | /etc/security/pam_env.conf and we are upgrading from a version which | ||
2294 | 3387 | didn't add it. | ||
2295 | 3388 | |||
2296 | 3389 | -- Tollef Fog Heen <tfheen@ubuntu.com> Tue, 17 Jan 2006 15:54:01 +0100 | ||
2297 | 3390 | |||
2298 | 3391 | pam (0.79-3ubuntu2) dapper; urgency=low | ||
2299 | 3392 | |||
2300 | 3393 | * Look at ~/.pam_environment too. Same format as | ||
2301 | 3394 | /etc/security/pam_env.conf. The patch is recorded as | ||
2302 | 3395 | patches-applied/060_pam_env_per_user | ||
2303 | 3396 | |||
2304 | 3397 | -- Tollef Fog Heen <tfheen@ubuntu.com> Tue, 17 Jan 2006 15:32:55 +0100 | ||
2305 | 3398 | |||
2306 | 3399 | pam (0.79-3ubuntu1) dapper; urgency=low | ||
2307 | 3400 | |||
2308 | 3401 | * Resynchronise with Debian. | ||
2309 | 3402 | |||
2310 | 3403 | -- Colin Watson <cjwatson@ubuntu.com> Mon, 21 Nov 2005 12:15:44 +0000 | ||
2311 | 3404 | |||
2312 | 3405 | >>>>>>> debian/changelog | ||
2313 | 1365 | pam (0.79-3) unstable; urgency=low | 3406 | pam (0.79-3) unstable; urgency=low |
2314 | 1366 | 3407 | ||
2315 | 1367 | * Patch 059 | 3408 | * Patch 059 |
2316 | @@ -1442,6 +3483,37 @@ pam (0.76-23) unstable; urgency=low | |||
2317 | 1442 | 3483 | ||
2318 | 1443 | -- Sam Hartman <hartmans@debian.org> Sun, 10 Jul 2005 16:42:25 -0400 | 3484 | -- Sam Hartman <hartmans@debian.org> Sun, 10 Jul 2005 16:42:25 -0400 |
2319 | 1444 | 3485 | ||
2320 | 3486 | <<<<<<< debian/changelog | ||
2321 | 3487 | ======= | ||
2322 | 3488 | pam (0.76-22ubuntu3) breezy; urgency=low | ||
2323 | 3489 | |||
2324 | 3490 | * Fix pam_getenv, which never worked: | ||
2325 | 3491 | - Parse /etc/security/pam_env.conf using its own syntax, and then | ||
2326 | 3492 | /etc/environment using its own syntax rather than the syntax of | ||
2327 | 3493 | /etc/security/pam_env.conf. | ||
2328 | 3494 | - 'my $val' was used in an incorrect scope; fixed. | ||
2329 | 3495 | - Exit non-zero if the requested environment variable is not found. | ||
2330 | 3496 | |||
2331 | 3497 | -- Colin Watson <cjwatson@ubuntu.com> Mon, 12 Sep 2005 18:32:54 +0100 | ||
2332 | 3498 | |||
2333 | 3499 | pam (0.76-22ubuntu2) breezy; urgency=low | ||
2334 | 3500 | |||
2335 | 3501 | * debian/rules: Install unix_chkpwd setgid shadow instead of setuid root. | ||
2336 | 3502 | This only breaks when using NIS lookups, therefore the new nis package | ||
2337 | 3503 | dpkg-statoverrides it back to setuid root while being installed. | ||
2338 | 3504 | (Debian #155583, http://udu.wiki.ubuntu.com/ProactiveSecurityRoadmap) | ||
2339 | 3505 | * debian/control: Added conflict to nis (<< 3.13-3ubuntu1): This is the | ||
2340 | 3506 | version that corrects the permissions for usage with NIS. | ||
2341 | 3507 | |||
2342 | 3508 | -- Martin Pitt <martin.pitt@ubuntu.com> Fri, 17 Jun 2005 12:34:23 +0200 | ||
2343 | 3509 | |||
2344 | 3510 | pam (0.76-22ubuntu1) breezy; urgency=low | ||
2345 | 3511 | |||
2346 | 3512 | * Fix FTBFS with gcc-3.4 (closes: #259634). Ubuntu 9037. | ||
2347 | 3513 | |||
2348 | 3514 | -- Matthias Klose <doko@ubuntu.com> Wed, 4 May 2005 18:14:51 +0200 | ||
2349 | 3515 | |||
2350 | 3516 | >>>>>>> debian/changelog | ||
2351 | 1445 | pam (0.76-22) unstable; urgency=medium | 3517 | pam (0.76-22) unstable; urgency=medium |
2352 | 1446 | 3518 | ||
2353 | 1447 | * Add uploaders | 3519 | * Add uploaders |
2354 | @@ -1861,8 +3933,11 @@ pam (0.72-20) unstable; urgency=low | |||
2355 | 1861 | 3933 | ||
2356 | 1862 | -- Sam Hartman <hartmans@debian.org> Fri, 6 Apr 2001 06:38:15 -0400 | 3934 | -- Sam Hartman <hartmans@debian.org> Fri, 6 Apr 2001 06:38:15 -0400 |
2357 | 1863 | 3935 | ||
2358 | 3936 | <<<<<<< debian/changelog | ||
2359 | 1864 | 3937 | ||
2360 | 1865 | 3938 | ||
2361 | 3939 | ======= | ||
2362 | 3940 | >>>>>>> debian/changelog | ||
2363 | 1866 | pam (0.72-19) unstable; urgency=low | 3941 | pam (0.72-19) unstable; urgency=low |
2364 | 1867 | 3942 | ||
2365 | 1868 | * New maintainer, closes: #92353 | 3943 | * New maintainer, closes: #92353 |
2366 | @@ -2668,3 +4743,7 @@ pam (0.56-1) unstable; urgency=low | |||
2367 | 2668 | * Reorganization of package structure (-dev, -dbg, etc). | 4743 | * Reorganization of package structure (-dev, -dbg, etc). |
2368 | 2669 | 4744 | ||
2369 | 2670 | -- Klee Dienes <klee@debian.org> Sat, 8 Mar 1997 01:21:17 -0500 | 4745 | -- Klee Dienes <klee@debian.org> Sat, 8 Mar 1997 01:21:17 -0500 |
2370 | 4746 | <<<<<<< debian/changelog | ||
2371 | 4747 | ======= | ||
2372 | 4748 | |||
2373 | 4749 | >>>>>>> debian/changelog | ||
2374 | diff --git a/debian/control b/debian/control | |||
2375 | index 9c76380..766d319 100644 | |||
2376 | --- a/debian/control | |||
2377 | +++ b/debian/control | |||
2378 | @@ -2,13 +2,24 @@ Source: pam | |||
2379 | 2 | Section: libs | 2 | Section: libs |
2380 | 3 | Priority: optional | 3 | Priority: optional |
2381 | 4 | Uploaders: Sam Hartman <hartmans@debian.org>, Roger Leigh <rleigh@debian.org> | 4 | Uploaders: Sam Hartman <hartmans@debian.org>, Roger Leigh <rleigh@debian.org> |
2382 | 5 | <<<<<<< debian/control | ||
2383 | 5 | Maintainer: Steve Langasek <vorlon@debian.org> | 6 | Maintainer: Steve Langasek <vorlon@debian.org> |
2384 | 7 | ======= | ||
2385 | 8 | Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> | ||
2386 | 9 | XSBC-Original-Maintainer: Steve Langasek <vorlon@debian.org> | ||
2387 | 10 | >>>>>>> debian/control | ||
2388 | 6 | Standards-Version: 3.9.8 | 11 | Standards-Version: 3.9.8 |
2389 | 7 | Build-Depends: libcrack2-dev (>= 2.8), bzip2, debhelper (>= 9), quilt (>= 0.48-1), flex, libdb-dev, libselinux1-dev [linux-any], po-debconf, dh-autoreconf, autopoint, libaudit-dev [linux-any], pkg-config, libfl-dev, libfl-dev:native, docbook-xsl, docbook-xml, xsltproc, libxml2-utils, w3m | 12 | Build-Depends: libcrack2-dev (>= 2.8), bzip2, debhelper (>= 9), quilt (>= 0.48-1), flex, libdb-dev, libselinux1-dev [linux-any], po-debconf, dh-autoreconf, autopoint, libaudit-dev [linux-any], pkg-config, libfl-dev, libfl-dev:native, docbook-xsl, docbook-xml, xsltproc, libxml2-utils, w3m |
2390 | 8 | Build-Conflicts-Indep: fop | 13 | Build-Conflicts-Indep: fop |
2391 | 9 | Build-Conflicts: libdb4.2-dev, libxcrypt-dev | 14 | Build-Conflicts: libdb4.2-dev, libxcrypt-dev |
2392 | 15 | <<<<<<< debian/control | ||
2393 | 10 | Vcs-Bzr: https://alioth.debian.org/scm/loggerhead/pkg-pam/debian/sid | 16 | Vcs-Bzr: https://alioth.debian.org/scm/loggerhead/pkg-pam/debian/sid |
2394 | 11 | Vcs-Browser: https://alioth.debian.org/scm/loggerhead/pkg-pam/debian/sid/files | 17 | Vcs-Browser: https://alioth.debian.org/scm/loggerhead/pkg-pam/debian/sid/files |
2395 | 18 | ======= | ||
2396 | 19 | Vcs-Bzr: https://code.launchpad.net/~ubuntu-core-dev/pam/ubuntu | ||
2397 | 20 | XS-Debian-Vcs-Bzr: https://alioth.debian.org/scm/loggerhead/pkg-pam/debian/sid | ||
2398 | 21 | XS-Debian-Vcs-Browser: https://alioth.debian.org/scm/loggerhead/pkg-pam/debian/sid/files | ||
2399 | 22 | >>>>>>> debian/control | ||
2400 | 12 | Homepage: http://www.linux-pam.org/ | 23 | Homepage: http://www.linux-pam.org/ |
2401 | 13 | 24 | ||
2402 | 14 | Package: libpam0g | 25 | Package: libpam0g |
2403 | @@ -36,6 +47,10 @@ Pre-Depends: ${shlibs:Depends}, ${misc:Depends}, libpam0g (>= 1.1.3-2), | |||
2404 | 36 | libpam-modules-bin (= ${binary:Version}) | 47 | libpam-modules-bin (= ${binary:Version}) |
2405 | 37 | Conflicts: libpam-motd, libpam-mkhomedir, libpam-umask | 48 | Conflicts: libpam-motd, libpam-mkhomedir, libpam-umask |
2406 | 38 | Replaces: libpam0g-util, libpam-umask | 49 | Replaces: libpam0g-util, libpam-umask |
2407 | 50 | <<<<<<< debian/control | ||
2408 | 51 | ======= | ||
2409 | 52 | Recommends: update-motd | ||
2410 | 53 | >>>>>>> debian/control | ||
2411 | 39 | Provides: libpam-motd, libpam-mkhomedir, libpam-umask | 54 | Provides: libpam-motd, libpam-mkhomedir, libpam-umask |
2412 | 40 | Description: Pluggable Authentication Modules for PAM | 55 | Description: Pluggable Authentication Modules for PAM |
2413 | 41 | This package completes the set of modules for PAM. It includes the | 56 | This package completes the set of modules for PAM. It includes the |
2414 | diff --git a/debian/libpam-modules-bin.install b/debian/libpam-modules-bin.install | |||
2415 | index fee3bce..6ab6ac7 100644 | |||
2416 | --- a/debian/libpam-modules-bin.install | |||
2417 | +++ b/debian/libpam-modules-bin.install | |||
2418 | @@ -4,3 +4,8 @@ sbin/pam_tally sbin | |||
2419 | 4 | sbin/pam_tally2 sbin | 4 | sbin/pam_tally2 sbin |
2420 | 5 | sbin/mkhomedir_helper sbin | 5 | sbin/mkhomedir_helper sbin |
2421 | 6 | sbin/pam_timestamp_check usr/sbin | 6 | sbin/pam_timestamp_check usr/sbin |
2422 | 7 | <<<<<<< debian/libpam-modules-bin.install | ||
2423 | 8 | ======= | ||
2424 | 9 | sbin/pam_extrausers_chkpwd sbin | ||
2425 | 10 | sbin/pam_extrausers_update sbin | ||
2426 | 11 | >>>>>>> debian/libpam-modules-bin.install | ||
2427 | diff --git a/debian/libpam-modules.manpages b/debian/libpam-modules.manpages | |||
2428 | index a9f488d..9287b2e 100644 | |||
2429 | --- a/debian/libpam-modules.manpages | |||
2430 | +++ b/debian/libpam-modules.manpages | |||
2431 | @@ -1,2 +1,6 @@ | |||
2432 | 1 | debian/tmp/usr/share/man/man8/pam_*.8 | 1 | debian/tmp/usr/share/man/man8/pam_*.8 |
2433 | 2 | debian/tmp/usr/share/man/man5/*conf.5 | 2 | debian/tmp/usr/share/man/man5/*conf.5 |
2434 | 3 | <<<<<<< debian/libpam-modules.manpages | ||
2435 | 4 | ======= | ||
2436 | 5 | debian/update-motd.5 | ||
2437 | 6 | >>>>>>> debian/libpam-modules.manpages | ||
2438 | diff --git a/debian/libpam-modules.postinst b/debian/libpam-modules.postinst | |||
2439 | index ce03090..0969526 100644 | |||
2440 | --- a/debian/libpam-modules.postinst | |||
2441 | +++ b/debian/libpam-modules.postinst | |||
2442 | @@ -17,6 +17,21 @@ then | |||
2443 | 17 | touch /etc/environment | 17 | touch /etc/environment |
2444 | 18 | fi | 18 | fi |
2445 | 19 | 19 | ||
2446 | 20 | <<<<<<< debian/libpam-modules.postinst | ||
2447 | 21 | ======= | ||
2448 | 22 | # Add PATH to /etc/environment if it's not present there or in | ||
2449 | 23 | # /etc/security/pam_env.conf | ||
2450 | 24 | if [ "$1" = "configure" ] && dpkg --compare-versions "$2" lt 1.1.3-7ubuntu3; then | ||
2451 | 25 | if ! grep -qs ^PATH /etc/security/pam_env.conf; then | ||
2452 | 26 | if ! grep -qs ^PATH= /etc/environment; then | ||
2453 | 27 | echo 'PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"' >> /etc/environment | ||
2454 | 28 | elif ! grep -qs "^PATH=.*/usr/local/games" /etc/environment; then | ||
2455 | 29 | sed -i '/^PATH=/ s,:/usr/games,:/usr/games:/usr/local/games,g' /etc/environment | ||
2456 | 30 | fi | ||
2457 | 31 | fi | ||
2458 | 32 | fi | ||
2459 | 33 | |||
2460 | 34 | >>>>>>> debian/libpam-modules.postinst | ||
2461 | 20 | if dpkg --compare-versions "$2" lt-nl 1.1.2-1 \ | 35 | if dpkg --compare-versions "$2" lt-nl 1.1.2-1 \ |
2462 | 21 | && grep -q 'pam_unix.*\bmin=[0-9]\+' /etc/pam.d/common-password | 36 | && grep -q 'pam_unix.*\bmin=[0-9]\+' /etc/pam.d/common-password |
2463 | 22 | then | 37 | then |
2464 | diff --git a/debian/libpam0g.postinst b/debian/libpam0g.postinst | |||
2465 | index bc8a52f..16affb8 100644 | |||
2466 | --- a/debian/libpam0g.postinst | |||
2467 | +++ b/debian/libpam0g.postinst | |||
2468 | @@ -69,6 +69,10 @@ installed_services() { | |||
2469 | 69 | -e's/\bhylafax-server\b/hylafax/g' \ | 69 | -e's/\bhylafax-server\b/hylafax/g' \ |
2470 | 70 | -e's/\bpartimage-server\b/partimaged/g' \ | 70 | -e's/\bpartimage-server\b/partimaged/g' \ |
2471 | 71 | -e's/\bpostgresql-common\b/postgresql/g' \ | 71 | -e's/\bpostgresql-common\b/postgresql/g' \ |
2472 | 72 | <<<<<<< debian/libpam0g.postinst | ||
2473 | 73 | ======= | ||
2474 | 74 | -e's/\bsamba\b/smbd-ad-dc/g' \ | ||
2475 | 75 | >>>>>>> debian/libpam0g.postinst | ||
2476 | 72 | -e's/\bsasl2-bin\b/saslauthd/g' \ | 76 | -e's/\bsasl2-bin\b/saslauthd/g' \ |
2477 | 73 | ) | 77 | ) |
2478 | 74 | 78 | ||
2479 | @@ -112,13 +116,36 @@ then | |||
2480 | 112 | echo "Checking init scripts..." | 116 | echo "Checking init scripts..." |
2481 | 113 | services=$(installed_services "$check") | 117 | services=$(installed_services "$check") |
2482 | 114 | if [ -n "$services" ]; then | 118 | if [ -n "$services" ]; then |
2483 | 119 | <<<<<<< debian/libpam0g.postinst | ||
2484 | 115 | db_input critical libraries/restart-without-asking || true | 120 | db_input critical libraries/restart-without-asking || true |
2485 | 121 | ======= | ||
2486 | 122 | db_reset libpam0g/restart-services | ||
2487 | 123 | db_set libpam0g/restart-services "$services" | ||
2488 | 124 | question_priority="critical" | ||
2489 | 125 | # Do not prompt when we're running in the upgrade-manager | ||
2490 | 126 | # and only default services need restarting. | ||
2491 | 127 | nondefault_services=$(echo "$services" | sed \ | ||
2492 | 128 | -e's/\batd\b//g' \ | ||
2493 | 129 | -e's/\bcron\b//g' \ | ||
2494 | 130 | -e's/\bcups\b//g' \ | ||
2495 | 131 | -e's/\bgdm\b//g' \ | ||
2496 | 132 | -e's/\bsmbd\b//g' \ | ||
2497 | 133 | -e's/^ *//g') | ||
2498 | 134 | if [ -n "$RELEASE_UPGRADE_IN_PROGRESS" ] && [ -z "$nondefault_services" ]; then | ||
2499 | 135 | question_priority="medium" | ||
2500 | 136 | fi | ||
2501 | 137 | db_input "$question_priority" libraries/restart-without-asking || true | ||
2502 | 138 | >>>>>>> debian/libpam0g.postinst | ||
2503 | 116 | db_go || true | 139 | db_go || true |
2504 | 117 | db_get libraries/restart-without-asking | 140 | db_get libraries/restart-without-asking |
2505 | 118 | if [ "$RET" != true ]; then | 141 | if [ "$RET" != true ]; then |
2506 | 119 | db_reset libpam0g/restart-services | 142 | db_reset libpam0g/restart-services |
2507 | 120 | db_set libpam0g/restart-services "$services" | 143 | db_set libpam0g/restart-services "$services" |
2508 | 144 | <<<<<<< debian/libpam0g.postinst | ||
2509 | 121 | db_input critical libpam0g/restart-services || true | 145 | db_input critical libpam0g/restart-services || true |
2510 | 146 | ======= | ||
2511 | 147 | db_input "$question_priority" libpam0g/restart-services || true | ||
2512 | 148 | >>>>>>> debian/libpam0g.postinst | ||
2513 | 122 | db_go || true | 149 | db_go || true |
2514 | 123 | db_get libpam0g/restart-services | 150 | db_get libpam0g/restart-services |
2515 | 124 | 151 | ||
2516 | @@ -139,6 +166,16 @@ then | |||
2517 | 139 | 166 | ||
2518 | 140 | case "$service" in | 167 | case "$service" in |
2519 | 141 | gdm) | 168 | gdm) |
2520 | 169 | <<<<<<< debian/libpam0g.postinst | ||
2521 | 170 | ======= | ||
2522 | 171 | # If gdm isn't running, there's no need to reload it (LP: #745532) | ||
2523 | 172 | if ! $idl status | grep -q 'Active: active (running)' | ||
2524 | 173 | then | ||
2525 | 174 | echo " $service: not running, no reload needed." | ||
2526 | 175 | continue | ||
2527 | 176 | fi | ||
2528 | 177 | |||
2529 | 178 | >>>>>>> debian/libpam0g.postinst | ||
2530 | 142 | echo -n " $service: reloading..." | 179 | echo -n " $service: reloading..." |
2531 | 143 | if $idl reload > /dev/null 2>&1; then | 180 | if $idl reload > /dev/null 2>&1; then |
2532 | 144 | echo "done." | 181 | echo "done." |
2533 | @@ -184,8 +221,19 @@ then | |||
2534 | 184 | done | 221 | done |
2535 | 185 | services=$(installed_services "$dms") | 222 | services=$(installed_services "$dms") |
2536 | 186 | if [ -n "$services" ]; then | 223 | if [ -n "$services" ]; then |
2537 | 224 | <<<<<<< debian/libpam0g.postinst | ||
2538 | 187 | db_input critical libpam0g/xdm-needs-restart || true | 225 | db_input critical libpam0g/xdm-needs-restart || true |
2539 | 188 | db_go || true | 226 | db_go || true |
2540 | 227 | ======= | ||
2541 | 228 | if [ -n "$RELEASE_UPGRADE_IN_PROGRESS" ] \ | ||
2542 | 229 | && [ -x /usr/share/update-notifier/notify-reboot-required ] | ||
2543 | 230 | then | ||
2544 | 231 | /usr/share/update-notifier/notify-reboot-required | ||
2545 | 232 | else | ||
2546 | 233 | db_input critical libpam0g/xdm-needs-restart || true | ||
2547 | 234 | db_go || true | ||
2548 | 235 | fi | ||
2549 | 236 | >>>>>>> debian/libpam0g.postinst | ||
2550 | 189 | fi | 237 | fi |
2551 | 190 | fi | 238 | fi |
2552 | 191 | 239 | ||
2553 | diff --git a/debian/local/common-session b/debian/local/common-session | |||
2554 | index 2e94d6c..bd831f2 100644 | |||
2555 | --- a/debian/local/common-session | |||
2556 | +++ b/debian/local/common-session | |||
2557 | @@ -20,6 +20,14 @@ session requisite pam_deny.so | |||
2558 | 20 | # this avoids us returning an error just because nothing sets a success code | 20 | # this avoids us returning an error just because nothing sets a success code |
2559 | 21 | # since the modules above will each just jump around | 21 | # since the modules above will each just jump around |
2560 | 22 | session required pam_permit.so | 22 | session required pam_permit.so |
2561 | 23 | <<<<<<< debian/local/common-session | ||
2562 | 24 | ======= | ||
2563 | 25 | # The pam_umask module will set the umask according to the system default in | ||
2564 | 26 | # /etc/login.defs and user settings, solving the problem of different | ||
2565 | 27 | # umask settings with different shells, display managers, remote sessions etc. | ||
2566 | 28 | # See "man pam_umask". | ||
2567 | 29 | session optional pam_umask.so | ||
2568 | 30 | >>>>>>> debian/local/common-session | ||
2569 | 23 | # and here are more per-package modules (the "Additional" block) | 31 | # and here are more per-package modules (the "Additional" block) |
2570 | 24 | $session_additional | 32 | $session_additional |
2571 | 25 | # end of pam-auth-update config | 33 | # end of pam-auth-update config |
2572 | diff --git a/debian/local/common-session-noninteractive b/debian/local/common-session-noninteractive | |||
2573 | index 1dd1a17..063f1ca 100644 | |||
2574 | --- a/debian/local/common-session-noninteractive | |||
2575 | +++ b/debian/local/common-session-noninteractive | |||
2576 | @@ -20,6 +20,14 @@ session requisite pam_deny.so | |||
2577 | 20 | # this avoids us returning an error just because nothing sets a success code | 20 | # this avoids us returning an error just because nothing sets a success code |
2578 | 21 | # since the modules above will each just jump around | 21 | # since the modules above will each just jump around |
2579 | 22 | session required pam_permit.so | 22 | session required pam_permit.so |
2580 | 23 | <<<<<<< debian/local/common-session-noninteractive | ||
2581 | 24 | ======= | ||
2582 | 25 | # The pam_umask module will set the umask according to the system default in | ||
2583 | 26 | # /etc/login.defs and user settings, solving the problem of different | ||
2584 | 27 | # umask settings with different shells, display managers, remote sessions etc. | ||
2585 | 28 | # See "man pam_umask". | ||
2586 | 29 | session optional pam_umask.so | ||
2587 | 30 | >>>>>>> debian/local/common-session-noninteractive | ||
2588 | 23 | # and here are more per-package modules (the "Additional" block) | 31 | # and here are more per-package modules (the "Additional" block) |
2589 | 24 | $session_nonint_additional | 32 | $session_nonint_additional |
2590 | 25 | # end of pam-auth-update config | 33 | # end of pam-auth-update config |
2591 | diff --git a/debian/local/pam-auth-update b/debian/local/pam-auth-update | |||
2592 | index 5fb4f40..9682062 100644 | |||
2593 | --- a/debian/local/pam-auth-update | |||
2594 | +++ b/debian/local/pam-auth-update | |||
2595 | @@ -39,7 +39,11 @@ my $blanktemplate = 'libpam-runtime/no_profiles_chosen'; | |||
2596 | 39 | my $titletemplate = 'libpam-runtime/title'; | 39 | my $titletemplate = 'libpam-runtime/title'; |
2597 | 40 | my $confdir = '/etc/pam.d'; | 40 | my $confdir = '/etc/pam.d'; |
2598 | 41 | my $savedir = '/var/lib/pam'; | 41 | my $savedir = '/var/lib/pam'; |
2599 | 42 | <<<<<<< debian/local/pam-auth-update | ||
2600 | 42 | my (%profiles, @sorted, @enabled, @conflicts, @new, %removals, %to_enable); | 43 | my (%profiles, @sorted, @enabled, @conflicts, @new, %removals, %to_enable); |
2601 | 44 | ======= | ||
2602 | 45 | my (%profiles, @sorted, @enabled, @conflicts, @new, %removals); | ||
2603 | 46 | >>>>>>> debian/local/pam-auth-update | ||
2604 | 43 | my $force = 0; | 47 | my $force = 0; |
2605 | 44 | my $package = 0; | 48 | my $package = 0; |
2606 | 45 | my $priority = 'high'; | 49 | my $priority = 'high'; |
2607 | @@ -54,9 +58,17 @@ my %md5sums = ( | |||
2608 | 54 | 'session' => [ | 58 | 'session' => [ |
2609 | 55 | '240fb92986c885b327cdb21dd641da8c', | 59 | '240fb92986c885b327cdb21dd641da8c', |
2610 | 56 | '4a25673e8b36f1805219027d3be02cd2', | 60 | '4a25673e8b36f1805219027d3be02cd2', |
2611 | 61 | <<<<<<< debian/local/pam-auth-update | ||
2612 | 57 | ], | 62 | ], |
2613 | 58 | 'session-noninteractive' => [ | 63 | 'session-noninteractive' => [ |
2614 | 59 | 'ad2b78ce1498dd637ef36469430b6ac6', | 64 | 'ad2b78ce1498dd637ef36469430b6ac6', |
2615 | 65 | ======= | ||
2616 | 66 | '73144a2f4e609a922a51e301cd66a57e', | ||
2617 | 67 | ], | ||
2618 | 68 | 'session-noninteractive' => [ | ||
2619 | 69 | 'ad2b78ce1498dd637ef36469430b6ac6', | ||
2620 | 70 | 'a20e8df3469bfe25c13a3b39161b30f0', | ||
2621 | 71 | >>>>>>> debian/local/pam-auth-update | ||
2622 | 60 | ], | 72 | ], |
2623 | 61 | ); | 73 | ); |
2624 | 62 | 74 | ||
2625 | @@ -89,6 +101,7 @@ while ($#ARGV >= 0) { | |||
2626 | 89 | } | 101 | } |
2627 | 90 | # --remove implies --package | 102 | # --remove implies --package |
2628 | 91 | $package = 1 if (keys(%removals)); | 103 | $package = 1 if (keys(%removals)); |
2629 | 104 | <<<<<<< debian/local/pam-auth-update | ||
2630 | 92 | } elsif ($opt eq '--enable') { | 105 | } elsif ($opt eq '--enable') { |
2631 | 93 | while ($#ARGV >= 0) { | 106 | while ($#ARGV >= 0) { |
2632 | 94 | last if ($ARGV[0] =~ /^--/); | 107 | last if ($ARGV[0] =~ /^--/); |
2633 | @@ -96,6 +109,8 @@ while ($#ARGV >= 0) { | |||
2634 | 96 | } | 109 | } |
2635 | 97 | # --enable implies --package | 110 | # --enable implies --package |
2636 | 98 | $package = 1 if (keys(%to_enable)); | 111 | $package = 1 if (keys(%to_enable)); |
2637 | 112 | ======= | ||
2638 | 113 | >>>>>>> debian/local/pam-auth-update | ||
2639 | 99 | } | 114 | } |
2640 | 100 | } | 115 | } |
2641 | 101 | 116 | ||
2642 | @@ -143,10 +158,13 @@ if (!@enabled) { | |||
2643 | 143 | $priority = 'high' unless ($force); | 158 | $priority = 'high' unless ($force); |
2644 | 144 | } | 159 | } |
2645 | 145 | 160 | ||
2646 | 161 | <<<<<<< debian/local/pam-auth-update | ||
2647 | 146 | # add configs to enable | 162 | # add configs to enable |
2648 | 147 | push(@enabled, | 163 | push(@enabled, |
2649 | 148 | grep { $to_enable{$_} } @sorted); | 164 | grep { $to_enable{$_} } @sorted); |
2650 | 149 | 165 | ||
2651 | 166 | ======= | ||
2652 | 167 | >>>>>>> debian/local/pam-auth-update | ||
2653 | 150 | # add any previously-unseen configs | 168 | # add any previously-unseen configs |
2654 | 151 | push(@enabled, | 169 | push(@enabled, |
2655 | 152 | grep { $profiles{$_}->{'Default'} eq 'yes' && !$seen{$_} } @sorted); | 170 | grep { $profiles{$_}->{'Default'} eq 'yes' && !$seen{$_} } @sorted); |
2656 | diff --git a/debian/local/pam-auth-update.8 b/debian/local/pam-auth-update.8 | |||
2657 | index a5ebdba..933fb0f 100644 | |||
2658 | --- a/debian/local/pam-auth-update.8 | |||
2659 | +++ b/debian/local/pam-auth-update.8 | |||
2660 | @@ -68,10 +68,13 @@ Indicate that the caller is a package maintainer script; lowers the | |||
2661 | 68 | priority of debconf questions to `medium' so that the user is not | 68 | priority of debconf questions to `medium' so that the user is not |
2662 | 69 | prompted by default. | 69 | prompted by default. |
2663 | 70 | .TP | 70 | .TP |
2664 | 71 | <<<<<<< debian/local/pam-auth-update.8 | ||
2665 | 71 | .B \-\-enable \fIprofile \fR[\fIprofile\fR...] | 72 | .B \-\-enable \fIprofile \fR[\fIprofile\fR...] |
2666 | 72 | Enable the specified profiles in system configuration. This is used to | 73 | Enable the specified profiles in system configuration. This is used to |
2667 | 73 | enable profiles that are not on by default. | 74 | enable profiles that are not on by default. |
2668 | 74 | .TP | 75 | .TP |
2669 | 76 | ======= | ||
2670 | 77 | >>>>>>> debian/local/pam-auth-update.8 | ||
2671 | 75 | .B \-\-remove \fIprofile \fR[\fIprofile\fR...] | 78 | .B \-\-remove \fIprofile \fR[\fIprofile\fR...] |
2672 | 76 | Remove the specified profiles from the system configuration. | 79 | Remove the specified profiles from the system configuration. |
2673 | 77 | .B pam\-auth\-update \-\-remove | 80 | .B pam\-auth\-update \-\-remove |
2674 | diff --git a/debian/patches-applied/cve-2015-3238.patch b/debian/patches-applied/cve-2015-3238.patch | |||
2675 | index cb5e8c0..7515fad 100644 | |||
2676 | --- a/debian/patches-applied/cve-2015-3238.patch | |||
2677 | +++ b/debian/patches-applied/cve-2015-3238.patch | |||
2678 | @@ -15,6 +15,7 @@ pipe that has a limited capacity. | |||
2679 | 15 | With this fix, the verifiable password length will be limited to | 15 | With this fix, the verifiable password length will be limited to |
2680 | 16 | PAM_MAX_RESP_SIZE bytes (i.e. 512 bytes) for pam_exec and pam_unix. | 16 | PAM_MAX_RESP_SIZE bytes (i.e. 512 bytes) for pam_exec and pam_unix. |
2681 | 17 | 17 | ||
2682 | 18 | <<<<<<< debian/patches-applied/cve-2015-3238.patch | ||
2683 | 18 | diff --git a/modules/pam_exec/pam_exec.8.xml b/modules/pam_exec/pam_exec.8.xml | 19 | diff --git a/modules/pam_exec/pam_exec.8.xml b/modules/pam_exec/pam_exec.8.xml |
2684 | 19 | index 2379366..d1b00a2 100644 | 20 | index 2379366..d1b00a2 100644 |
2685 | 20 | --- a/modules/pam_exec/pam_exec.8.xml | 21 | --- a/modules/pam_exec/pam_exec.8.xml |
2686 | @@ -29,6 +30,8 @@ index 2379366..d1b00a2 100644 | |||
2687 | 29 | </para> | 30 | </para> |
2688 | 30 | </listitem> | 31 | </listitem> |
2689 | 31 | </varlistentry> | 32 | </varlistentry> |
2690 | 33 | ======= | ||
2691 | 34 | >>>>>>> debian/patches-applied/cve-2015-3238.patch | ||
2692 | 32 | diff --git a/modules/pam_exec/pam_exec.c b/modules/pam_exec/pam_exec.c | 35 | diff --git a/modules/pam_exec/pam_exec.c b/modules/pam_exec/pam_exec.c |
2693 | 33 | index 5ab9630..17ba6ca 100644 | 36 | index 5ab9630..17ba6ca 100644 |
2694 | 34 | --- a/modules/pam_exec/pam_exec.c | 37 | --- a/modules/pam_exec/pam_exec.c |
2695 | @@ -47,6 +50,7 @@ index 5ab9630..17ba6ca 100644 | |||
2696 | 47 | 50 | ||
2697 | 48 | if (pipe(fds) != 0) | 51 | if (pipe(fds) != 0) |
2698 | 49 | { | 52 | { |
2699 | 53 | <<<<<<< debian/patches-applied/cve-2015-3238.patch | ||
2700 | 50 | diff --git a/modules/pam_unix/pam_unix.8.xml b/modules/pam_unix/pam_unix.8.xml | 54 | diff --git a/modules/pam_unix/pam_unix.8.xml b/modules/pam_unix/pam_unix.8.xml |
2701 | 51 | index 4008402..a8b64bb 100644 | 55 | index 4008402..a8b64bb 100644 |
2702 | 52 | --- a/modules/pam_unix/pam_unix.8.xml | 56 | --- a/modules/pam_unix/pam_unix.8.xml |
2703 | @@ -65,6 +69,8 @@ index 4008402..a8b64bb 100644 | |||
2704 | 65 | The password component of this module performs the task of updating | 69 | The password component of this module performs the task of updating |
2705 | 66 | the user's password. The default encryption hash is taken from the | 70 | the user's password. The default encryption hash is taken from the |
2706 | 67 | <emphasis remap='B'>ENCRYPT_METHOD</emphasis> variable from | 71 | <emphasis remap='B'>ENCRYPT_METHOD</emphasis> variable from |
2707 | 72 | ======= | ||
2708 | 73 | >>>>>>> debian/patches-applied/cve-2015-3238.patch | ||
2709 | 68 | diff --git a/modules/pam_unix/pam_unix_passwd.c b/modules/pam_unix/pam_unix_passwd.c | 74 | diff --git a/modules/pam_unix/pam_unix_passwd.c b/modules/pam_unix/pam_unix_passwd.c |
2710 | 69 | index 2d330e5..c2e5de5 100644 | 75 | index 2d330e5..c2e5de5 100644 |
2711 | 70 | --- a/modules/pam_unix/pam_unix_passwd.c | 76 | --- a/modules/pam_unix/pam_unix_passwd.c |
2712 | diff --git a/debian/patches-applied/extrausers.patch b/debian/patches-applied/extrausers.patch | |||
2713 | 71 | new file mode 100644 | 77 | new file mode 100644 |
2714 | index 0000000..f316f1d | |||
2715 | --- /dev/null | |||
2716 | +++ b/debian/patches-applied/extrausers.patch | |||
2717 | @@ -0,0 +1,6567 @@ | |||
2718 | 1 | Index: pam-1.1.8/modules/pam_extrausers/Makefile.am | ||
2719 | 2 | =================================================================== | ||
2720 | 3 | --- /dev/null | ||
2721 | 4 | +++ pam-1.1.8/modules/pam_extrausers/Makefile.am | ||
2722 | 5 | @@ -0,0 +1,70 @@ | ||
2723 | 6 | +# | ||
2724 | 7 | +# Copyright (c) 2005, 2006, 2009, 2011 Thorsten Kukuk <kukuk@suse.de> | ||
2725 | 8 | +# | ||
2726 | 9 | + | ||
2727 | 10 | +CLEANFILES = *~ | ||
2728 | 11 | +MAINTAINERCLEANFILES = $(MANS) | ||
2729 | 12 | + | ||
2730 | 13 | +EXTRA_DIST = md5.c md5_crypt.c lckpwdf.-c $(MANS) \ | ||
2731 | 14 | + tst-pam_extrausers $(XMLS) | ||
2732 | 15 | + | ||
2733 | 16 | +man_MANS = pam_extrausers.8 | ||
2734 | 17 | +XMLS = pam_extrausers.8.xml | ||
2735 | 18 | + | ||
2736 | 19 | +#TESTS = tst-pam_extrausers | ||
2737 | 20 | + | ||
2738 | 21 | +securelibdir = $(SECUREDIR) | ||
2739 | 22 | +secureconfdir = $(SCONFIGDIR) | ||
2740 | 23 | + | ||
2741 | 24 | +AM_CFLAGS = -I$(top_srcdir)/libpam/include -I$(top_srcdir)/libpamc/include \ | ||
2742 | 25 | + -DCHKPWD_HELPER=\"$(sbindir)/pam_extrausers_chkpwd\" \ | ||
2743 | 26 | + -DUPDATE_HELPER=\"$(sbindir)/pam_extrausers_update\" \ | ||
2744 | 27 | + $(NIS_CFLAGS) | ||
2745 | 28 | + | ||
2746 | 29 | +if HAVE_LIBSELINUX | ||
2747 | 30 | + AM_CFLAGS += -D"WITH_SELINUX" | ||
2748 | 31 | +endif | ||
2749 | 32 | + | ||
2750 | 33 | +pam_extrausers_la_LDFLAGS = -no-undefined -avoid-version -module | ||
2751 | 34 | +if HAVE_VERSIONING | ||
2752 | 35 | + pam_extrausers_la_LDFLAGS += -Wl,--version-script=$(srcdir)/../modules.map | ||
2753 | 36 | +endif | ||
2754 | 37 | +pam_extrausers_la_LIBADD = $(top_builddir)/libpam/libpam.la \ | ||
2755 | 38 | + @LIBCRYPT@ @LIBSELINUX@ $(NIS_LIBS) \ | ||
2756 | 39 | + ../pam_securetty/tty_secure.lo | ||
2757 | 40 | + | ||
2758 | 41 | +securelib_LTLIBRARIES = pam_extrausers.la | ||
2759 | 42 | + | ||
2760 | 43 | +noinst_HEADERS = md5.h support.h yppasswd.h bigcrypt.h passverify.h \ | ||
2761 | 44 | + pam_unix_static.h | ||
2762 | 45 | + | ||
2763 | 46 | +sbin_PROGRAMS = pam_extrausers_chkpwd pam_extrausers_update | ||
2764 | 47 | + | ||
2765 | 48 | +noinst_PROGRAMS = bigcrypt | ||
2766 | 49 | + | ||
2767 | 50 | +pam_extrausers_la_SOURCES = bigcrypt.c pam_unix_acct.c \ | ||
2768 | 51 | + pam_unix_auth.c pam_unix_passwd.c pam_unix_sess.c support.c \ | ||
2769 | 52 | + passverify.c yppasswd_xdr.c md5_good.c md5_broken.c obscure.c | ||
2770 | 53 | +if STATIC_MODULES | ||
2771 | 54 | +pam_extrausers_la_SOURCES += pam_unix_static.c | ||
2772 | 55 | +endif | ||
2773 | 56 | + | ||
2774 | 57 | +bigcrypt_SOURCES = bigcrypt.c bigcrypt_main.c | ||
2775 | 58 | +bigcrypt_CFLAGS = $(AM_CFLAGS) | ||
2776 | 59 | +bigcrypt_LDADD = @LIBCRYPT@ | ||
2777 | 60 | + | ||
2778 | 61 | +pam_extrausers_chkpwd_SOURCES = unix_chkpwd.c md5_good.c md5_broken.c bigcrypt.c \ | ||
2779 | 62 | + passverify.c | ||
2780 | 63 | +pam_extrausers_chkpwd_CFLAGS = $(AM_CFLAGS) @PIE_CFLAGS@ -DHELPER_COMPILE=\"pam_extrausers_chkpwd\" | ||
2781 | 64 | +pam_extrausers_chkpwd_LDFLAGS = @PIE_LDFLAGS@ | ||
2782 | 65 | +pam_extrausers_chkpwd_LDADD = @LIBCRYPT@ @LIBSELINUX@ @LIBAUDIT@ | ||
2783 | 66 | + | ||
2784 | 67 | +pam_extrausers_update_SOURCES = unix_update.c md5_good.c md5_broken.c bigcrypt.c \ | ||
2785 | 68 | + passverify.c | ||
2786 | 69 | +pam_extrausers_update_CFLAGS = $(AM_CFLAGS) @PIE_CFLAGS@ -DHELPER_COMPILE=\"pam_extrausers_update\" | ||
2787 | 70 | +pam_extrausers_update_LDFLAGS = @PIE_LDFLAGS@ | ||
2788 | 71 | +pam_extrausers_update_LDADD = @LIBCRYPT@ @LIBSELINUX@ | ||
2789 | 72 | + | ||
2790 | 73 | +if ENABLE_REGENERATE_MAN | ||
2791 | 74 | +-include $(top_srcdir)/Make.xml.rules | ||
2792 | 75 | +endif | ||
2793 | 76 | Index: pam-1.1.8/modules/pam_extrausers/README | ||
2794 | 77 | =================================================================== | ||
2795 | 78 | --- /dev/null | ||
2796 | 79 | +++ pam-1.1.8/modules/pam_extrausers/README | ||
2797 | 80 | @@ -0,0 +1,5 @@ | ||
2798 | 81 | +This is a simple fork of pam_unix, but with the following changes: | ||
2799 | 82 | + | ||
2800 | 83 | + - The expected namespace changes | ||
2801 | 84 | + - References to /etc or /etc/secure are replaced with /var/lib/extrausers | ||
2802 | 85 | + - Unconditionally use our custom lckpwdf methods and namespace them | ||
2803 | 86 | Index: pam-1.1.8/modules/pam_extrausers/bigcrypt.c | ||
2804 | 87 | =================================================================== | ||
2805 | 88 | --- /dev/null | ||
2806 | 89 | +++ pam-1.1.8/modules/pam_extrausers/bigcrypt.c | ||
2807 | 90 | @@ -0,0 +1,159 @@ | ||
2808 | 91 | +/* | ||
2809 | 92 | + * This function implements the "bigcrypt" algorithm specifically for | ||
2810 | 93 | + * Linux-PAM. | ||
2811 | 94 | + * | ||
2812 | 95 | + * This algorithm is algorithm 0 (default) shipped with the C2 secure | ||
2813 | 96 | + * implementation of Digital UNIX. | ||
2814 | 97 | + * | ||
2815 | 98 | + * Disclaimer: This work is not based on the source code to Digital | ||
2816 | 99 | + * UNIX, nor am I connected to Digital Equipment Corp, in any way | ||
2817 | 100 | + * other than as a customer. This code is based on published | ||
2818 | 101 | + * interfaces and reasonable guesswork. | ||
2819 | 102 | + * | ||
2820 | 103 | + * Description: The cleartext is divided into blocks of SEGMENT_SIZE=8 | ||
2821 | 104 | + * characters or less. Each block is encrypted using the standard UNIX | ||
2822 | 105 | + * libc crypt function. The result of the encryption for one block | ||
2823 | 106 | + * provides the salt for the suceeding block. | ||
2824 | 107 | + * | ||
2825 | 108 | + * Restrictions: The buffer used to hold the encrypted result is | ||
2826 | 109 | + * statically allocated. (see MAX_PASS_LEN below). This is necessary, | ||
2827 | 110 | + * as the returned pointer points to "static data that are overwritten | ||
2828 | 111 | + * by each call", (XPG3: XSI System Interface + Headers pg 109), and | ||
2829 | 112 | + * this is a drop in replacement for crypt(); | ||
2830 | 113 | + * | ||
2831 | 114 | + * Andy Phillips <atp@mssl.ucl.ac.uk> | ||
2832 | 115 | + */ | ||
2833 | 116 | + | ||
2834 | 117 | +#include "config.h" | ||
2835 | 118 | + | ||
2836 | 119 | +#include <string.h> | ||
2837 | 120 | +#include <stdlib.h> | ||
2838 | 121 | +#include <security/_pam_macros.h> | ||
2839 | 122 | +#ifdef HAVE_LIBXCRYPT | ||
2840 | 123 | +#include <xcrypt.h> | ||
2841 | 124 | +#elif defined(HAVE_CRYPT_H) | ||
2842 | 125 | +#include <crypt.h> | ||
2843 | 126 | +#endif | ||
2844 | 127 | + | ||
2845 | 128 | +#include "bigcrypt.h" | ||
2846 | 129 | + | ||
2847 | 130 | +/* | ||
2848 | 131 | + * Max cleartext password length in segments of 8 characters this | ||
2849 | 132 | + * function can deal with (16 segments of 8 chars= max 128 character | ||
2850 | 133 | + * password). | ||
2851 | 134 | + */ | ||
2852 | 135 | + | ||
2853 | 136 | +#define MAX_PASS_LEN 16 | ||
2854 | 137 | +#define SEGMENT_SIZE 8 | ||
2855 | 138 | +#define SALT_SIZE 2 | ||
2856 | 139 | +#define KEYBUF_SIZE ((MAX_PASS_LEN*SEGMENT_SIZE)+SALT_SIZE) | ||
2857 | 140 | +#define ESEGMENT_SIZE 11 | ||
2858 | 141 | +#define CBUF_SIZE ((MAX_PASS_LEN*ESEGMENT_SIZE)+SALT_SIZE+1) | ||
2859 | 142 | + | ||
2860 | 143 | +char *bigcrypt(const char *key, const char *salt) | ||
2861 | 144 | +{ | ||
2862 | 145 | + char *dec_c2_cryptbuf; | ||
2863 | 146 | +#ifdef HAVE_CRYPT_R | ||
2864 | 147 | + struct crypt_data *cdata; | ||
2865 | 148 | +#endif | ||
2866 | 149 | + unsigned long int keylen, n_seg, j; | ||
2867 | 150 | + char *cipher_ptr, *plaintext_ptr, *tmp_ptr, *salt_ptr; | ||
2868 | 151 | + char keybuf[KEYBUF_SIZE + 1]; | ||
2869 | 152 | + | ||
2870 | 153 | + D(("called with key='%s', salt='%s'.", key, salt)); | ||
2871 | 154 | + | ||
2872 | 155 | + /* reset arrays */ | ||
2873 | 156 | + dec_c2_cryptbuf = malloc(CBUF_SIZE); | ||
2874 | 157 | + if (!dec_c2_cryptbuf) { | ||
2875 | 158 | + return NULL; | ||
2876 | 159 | + } | ||
2877 | 160 | +#ifdef HAVE_CRYPT_R | ||
2878 | 161 | + cdata = malloc(sizeof(*cdata)); | ||
2879 | 162 | + if(!cdata) { | ||
2880 | 163 | + free(dec_c2_cryptbuf); | ||
2881 | 164 | + return NULL; | ||
2882 | 165 | + } | ||
2883 | 166 | + cdata->initialized = 0; | ||
2884 | 167 | +#endif | ||
2885 | 168 | + memset(keybuf, 0, KEYBUF_SIZE + 1); | ||
2886 | 169 | + memset(dec_c2_cryptbuf, 0, CBUF_SIZE); | ||
2887 | 170 | + | ||
2888 | 171 | + /* fill KEYBUF_SIZE with key */ | ||
2889 | 172 | + strncpy(keybuf, key, KEYBUF_SIZE); | ||
2890 | 173 | + | ||
2891 | 174 | + /* deal with case that we are doing a password check for a | ||
2892 | 175 | + conventially encrypted password: the salt will be | ||
2893 | 176 | + SALT_SIZE+ESEGMENT_SIZE long. */ | ||
2894 | 177 | + if (strlen(salt) == (SALT_SIZE + ESEGMENT_SIZE)) | ||
2895 | 178 | + keybuf[SEGMENT_SIZE] = '\0'; /* terminate password early(?) */ | ||
2896 | 179 | + | ||
2897 | 180 | + keylen = strlen(keybuf); | ||
2898 | 181 | + | ||
2899 | 182 | + if (!keylen) { | ||
2900 | 183 | + n_seg = 1; | ||
2901 | 184 | + } else { | ||
2902 | 185 | + /* work out how many segments */ | ||
2903 | 186 | + n_seg = 1 + ((keylen - 1) / SEGMENT_SIZE); | ||
2904 | 187 | + } | ||
2905 | 188 | + | ||
2906 | 189 | + if (n_seg > MAX_PASS_LEN) | ||
2907 | 190 | + n_seg = MAX_PASS_LEN; /* truncate at max length */ | ||
2908 | 191 | + | ||
2909 | 192 | + /* set up some pointers */ | ||
2910 | 193 | + cipher_ptr = dec_c2_cryptbuf; | ||
2911 | 194 | + plaintext_ptr = keybuf; | ||
2912 | 195 | + | ||
2913 | 196 | + /* do the first block with supplied salt */ | ||
2914 | 197 | +#ifdef HAVE_CRYPT_R | ||
2915 | 198 | + tmp_ptr = crypt_r(plaintext_ptr, salt, cdata); /* libc crypt_r() */ | ||
2916 | 199 | +#else | ||
2917 | 200 | + tmp_ptr = crypt(plaintext_ptr, salt); /* libc crypt() */ | ||
2918 | 201 | +#endif | ||
2919 | 202 | + if (tmp_ptr == NULL) { | ||
2920 | 203 | + free(dec_c2_cryptbuf); | ||
2921 | 204 | + return NULL; | ||
2922 | 205 | + } | ||
2923 | 206 | + /* and place in the static area */ | ||
2924 | 207 | + strncpy(cipher_ptr, tmp_ptr, 13); | ||
2925 | 208 | + cipher_ptr += ESEGMENT_SIZE + SALT_SIZE; | ||
2926 | 209 | + plaintext_ptr += SEGMENT_SIZE; /* first block of SEGMENT_SIZE */ | ||
2927 | 210 | + | ||
2928 | 211 | + /* change the salt (1st 2 chars of previous block) - this was found | ||
2929 | 212 | + by dowsing */ | ||
2930 | 213 | + | ||
2931 | 214 | + salt_ptr = cipher_ptr - ESEGMENT_SIZE; | ||
2932 | 215 | + | ||
2933 | 216 | + /* so far this is identical to "return crypt(key, salt);", if | ||
2934 | 217 | + there is more than one block encrypt them... */ | ||
2935 | 218 | + | ||
2936 | 219 | + if (n_seg > 1) { | ||
2937 | 220 | + for (j = 2; j <= n_seg; j++) { | ||
2938 | 221 | + | ||
2939 | 222 | +#ifdef HAVE_CRYPT_R | ||
2940 | 223 | + tmp_ptr = crypt_r(plaintext_ptr, salt_ptr, cdata); | ||
2941 | 224 | +#else | ||
2942 | 225 | + tmp_ptr = crypt(plaintext_ptr, salt_ptr); | ||
2943 | 226 | +#endif | ||
2944 | 227 | + if (tmp_ptr == NULL) { | ||
2945 | 228 | + _pam_overwrite(dec_c2_cryptbuf); | ||
2946 | 229 | + free(dec_c2_cryptbuf); | ||
2947 | 230 | + return NULL; | ||
2948 | 231 | + } | ||
2949 | 232 | + | ||
2950 | 233 | + /* skip the salt for seg!=0 */ | ||
2951 | 234 | + strncpy(cipher_ptr, (tmp_ptr + SALT_SIZE), ESEGMENT_SIZE); | ||
2952 | 235 | + | ||
2953 | 236 | + cipher_ptr += ESEGMENT_SIZE; | ||
2954 | 237 | + plaintext_ptr += SEGMENT_SIZE; | ||
2955 | 238 | + salt_ptr = cipher_ptr - ESEGMENT_SIZE; | ||
2956 | 239 | + } | ||
2957 | 240 | + } | ||
2958 | 241 | + D(("key=|%s|, salt=|%s|\nbuf=|%s|\n", key, salt, dec_c2_cryptbuf)); | ||
2959 | 242 | + | ||
2960 | 243 | +#ifdef HAVE_CRYPT_R | ||
2961 | 244 | + free(cdata); | ||
2962 | 245 | +#endif | ||
2963 | 246 | + | ||
2964 | 247 | + /* this is the <NUL> terminated encrypted password */ | ||
2965 | 248 | + return dec_c2_cryptbuf; | ||
2966 | 249 | +} | ||
2967 | 250 | Index: pam-1.1.8/modules/pam_extrausers/bigcrypt.h | ||
2968 | 251 | =================================================================== | ||
2969 | 252 | --- /dev/null | ||
2970 | 253 | +++ pam-1.1.8/modules/pam_extrausers/bigcrypt.h | ||
2971 | 254 | @@ -0,0 +1 @@ | ||
2972 | 255 | +extern char *bigcrypt(const char *key, const char *salt); | ||
2973 | 256 | Index: pam-1.1.8/modules/pam_extrausers/bigcrypt_main.c | ||
2974 | 257 | =================================================================== | ||
2975 | 258 | --- /dev/null | ||
2976 | 259 | +++ pam-1.1.8/modules/pam_extrausers/bigcrypt_main.c | ||
2977 | 260 | @@ -0,0 +1,18 @@ | ||
2978 | 261 | +#include <stdio.h> | ||
2979 | 262 | +#include <string.h> | ||
2980 | 263 | + | ||
2981 | 264 | +#include "bigcrypt.h" | ||
2982 | 265 | + | ||
2983 | 266 | +int | ||
2984 | 267 | +main(int argc, char **argv) | ||
2985 | 268 | +{ | ||
2986 | 269 | + if (argc < 3) { | ||
2987 | 270 | + fprintf(stderr, "Usage: %s password salt\n", | ||
2988 | 271 | + strchr(argv[0], '/') ? | ||
2989 | 272 | + (strchr(argv[0], '/') + 1) : | ||
2990 | 273 | + argv[0]); | ||
2991 | 274 | + return 0; | ||
2992 | 275 | + } | ||
2993 | 276 | + fprintf(stdout, "%s\n", bigcrypt(argv[1], argv[2])); | ||
2994 | 277 | + return 0; | ||
2995 | 278 | +} | ||
2996 | 279 | Index: pam-1.1.8/modules/pam_extrausers/lckpwdf.-c | ||
2997 | 280 | =================================================================== | ||
2998 | 281 | --- /dev/null | ||
2999 | 282 | +++ pam-1.1.8/modules/pam_extrausers/lckpwdf.-c | ||
3000 | 283 | @@ -0,0 +1,142 @@ | ||
3001 | 284 | +/* | ||
3002 | 285 | + * This is a hack, but until libc and glibc both include this function | ||
3003 | 286 | + * by default (libc only includes it if nys is not being used, at the | ||
3004 | 287 | + * moment, and glibc doesn't appear to have it at all) we need to have | ||
3005 | 288 | + * it here, too. :-( | ||
3006 | 289 | + * | ||
3007 | 290 | + * This should not become an official part of PAM. | ||
3008 | 291 | + * | ||
3009 | 292 | + * BEGIN_HACK | ||
3010 | 293 | + */ | ||
3011 | 294 | + | ||
3012 | 295 | +/* | ||
3013 | 296 | + * lckpwdf.c -- prevent simultaneous updates of password files | ||
3014 | 297 | + * | ||
3015 | 298 | + * Before modifying any of the password files, call lckpwdf(). It may block | ||
3016 | 299 | + * for up to 15 seconds trying to get the lock. Return value is 0 on success | ||
3017 | 300 | + * or -1 on failure. When you are done, call ulckpwdf() to release the lock. | ||
3018 | 301 | + * The lock is also released automatically when the process exits. Only one | ||
3019 | 302 | + * process at a time may hold the lock. | ||
3020 | 303 | + * | ||
3021 | 304 | + * These functions are supposed to be conformant with AT&T SVID Issue 3. | ||
3022 | 305 | + * | ||
3023 | 306 | + * Written by Marek Michalkiewicz <marekm@i17linuxb.ists.pwr.wroc.pl>, | ||
3024 | 307 | + * public domain. | ||
3025 | 308 | + */ | ||
3026 | 309 | + | ||
3027 | 310 | +#include <fcntl.h> | ||
3028 | 311 | +#include <signal.h> | ||
3029 | 312 | +#ifdef WITH_SELINUX | ||
3030 | 313 | +#include <selinux/selinux.h> | ||
3031 | 314 | +#endif | ||
3032 | 315 | + | ||
3033 | 316 | +#define LOCKFILE "/var/lib/extrausers/.pwd.lock" | ||
3034 | 317 | +#define TIMEOUT 15 | ||
3035 | 318 | + | ||
3036 | 319 | +static int lockfd = -1; | ||
3037 | 320 | + | ||
3038 | 321 | +static int set_close_on_exec(int fd) | ||
3039 | 322 | +{ | ||
3040 | 323 | + int flags = fcntl(fd, F_GETFD, 0); | ||
3041 | 324 | + if (flags == -1) | ||
3042 | 325 | + return -1; | ||
3043 | 326 | + flags |= FD_CLOEXEC; | ||
3044 | 327 | + return fcntl(fd, F_SETFD, flags); | ||
3045 | 328 | +} | ||
3046 | 329 | + | ||
3047 | 330 | +static int do_lock(int fd) | ||
3048 | 331 | +{ | ||
3049 | 332 | + struct flock fl; | ||
3050 | 333 | + | ||
3051 | 334 | + memset(&fl, 0, sizeof fl); | ||
3052 | 335 | + fl.l_type = F_WRLCK; | ||
3053 | 336 | + fl.l_whence = SEEK_SET; | ||
3054 | 337 | + return fcntl(fd, F_SETLKW, &fl); | ||
3055 | 338 | +} | ||
3056 | 339 | + | ||
3057 | 340 | +static void alarm_catch(int sig) | ||
3058 | 341 | +{ | ||
3059 | 342 | +/* does nothing, but fcntl F_SETLKW will fail with EINTR */ | ||
3060 | 343 | +} | ||
3061 | 344 | + | ||
3062 | 345 | +static int extrausers_lckpwdf(void) | ||
3063 | 346 | +{ | ||
3064 | 347 | + struct sigaction act, oldact; | ||
3065 | 348 | + sigset_t set, oldset; | ||
3066 | 349 | + | ||
3067 | 350 | + if (lockfd != -1) | ||
3068 | 351 | + return -1; | ||
3069 | 352 | + | ||
3070 | 353 | +#ifdef WITH_SELINUX | ||
3071 | 354 | + if(is_selinux_enabled()>0) | ||
3072 | 355 | + { | ||
3073 | 356 | + lockfd = open(LOCKFILE, O_WRONLY); | ||
3074 | 357 | + if(lockfd == -1 && errno == ENOENT) | ||
3075 | 358 | + { | ||
3076 | 359 | + security_context_t create_context; | ||
3077 | 360 | + int rc; | ||
3078 | 361 | + | ||
3079 | 362 | + if(getfilecon("/var/lib/extrausers/passwd", &create_context)) | ||
3080 | 363 | + return -1; | ||
3081 | 364 | + rc = setfscreatecon(create_context); | ||
3082 | 365 | + freecon(create_context); | ||
3083 | 366 | + if(rc) | ||
3084 | 367 | + return -1; | ||
3085 | 368 | + lockfd = open(LOCKFILE, O_CREAT | O_WRONLY, 0600); | ||
3086 | 369 | + if(setfscreatecon(NULL)) | ||
3087 | 370 | + return -1; | ||
3088 | 371 | + } | ||
3089 | 372 | + } | ||
3090 | 373 | + else | ||
3091 | 374 | +#endif | ||
3092 | 375 | + lockfd = open(LOCKFILE, O_CREAT | O_WRONLY, 0600); | ||
3093 | 376 | + if (lockfd == -1) | ||
3094 | 377 | + return -1; | ||
3095 | 378 | + if (set_close_on_exec(lockfd) == -1) | ||
3096 | 379 | + goto cleanup_fd; | ||
3097 | 380 | + | ||
3098 | 381 | + memset(&act, 0, sizeof act); | ||
3099 | 382 | + act.sa_handler = alarm_catch; | ||
3100 | 383 | + act.sa_flags = 0; | ||
3101 | 384 | + sigfillset(&act.sa_mask); | ||
3102 | 385 | + if (sigaction(SIGALRM, &act, &oldact) == -1) | ||
3103 | 386 | + goto cleanup_fd; | ||
3104 | 387 | + | ||
3105 | 388 | + sigemptyset(&set); | ||
3106 | 389 | + sigaddset(&set, SIGALRM); | ||
3107 | 390 | + if (sigprocmask(SIG_UNBLOCK, &set, &oldset) == -1) | ||
3108 | 391 | + goto cleanup_sig; | ||
3109 | 392 | + | ||
3110 | 393 | + alarm(TIMEOUT); | ||
3111 | 394 | + if (do_lock(lockfd) == -1) | ||
3112 | 395 | + goto cleanup_alarm; | ||
3113 | 396 | + alarm(0); | ||
3114 | 397 | + sigprocmask(SIG_SETMASK, &oldset, NULL); | ||
3115 | 398 | + sigaction(SIGALRM, &oldact, NULL); | ||
3116 | 399 | + return 0; | ||
3117 | 400 | + | ||
3118 | 401 | + cleanup_alarm: | ||
3119 | 402 | + alarm(0); | ||
3120 | 403 | + sigprocmask(SIG_SETMASK, &oldset, NULL); | ||
3121 | 404 | + cleanup_sig: | ||
3122 | 405 | + sigaction(SIGALRM, &oldact, NULL); | ||
3123 | 406 | + cleanup_fd: | ||
3124 | 407 | + close(lockfd); | ||
3125 | 408 | + lockfd = -1; | ||
3126 | 409 | + return -1; | ||
3127 | 410 | +} | ||
3128 | 411 | + | ||
3129 | 412 | +static int extrausers_ulckpwdf(void) | ||
3130 | 413 | +{ | ||
3131 | 414 | + unlink(LOCKFILE); | ||
3132 | 415 | + if (lockfd == -1) | ||
3133 | 416 | + return -1; | ||
3134 | 417 | + | ||
3135 | 418 | + if (close(lockfd) == -1) { | ||
3136 | 419 | + lockfd = -1; | ||
3137 | 420 | + return -1; | ||
3138 | 421 | + } | ||
3139 | 422 | + lockfd = -1; | ||
3140 | 423 | + return 0; | ||
3141 | 424 | +} | ||
3142 | 425 | +/* END_HACK */ | ||
3143 | 426 | Index: pam-1.1.8/modules/pam_extrausers/md5.c | ||
3144 | 427 | =================================================================== | ||
3145 | 428 | --- /dev/null | ||
3146 | 429 | +++ pam-1.1.8/modules/pam_extrausers/md5.c | ||
3147 | 430 | @@ -0,0 +1,255 @@ | ||
3148 | 431 | +/* | ||
3149 | 432 | + * $Id$ | ||
3150 | 433 | + * | ||
3151 | 434 | + * This code implements the MD5 message-digest algorithm. | ||
3152 | 435 | + * The algorithm is due to Ron Rivest. This code was | ||
3153 | 436 | + * written by Colin Plumb in 1993, no copyright is claimed. | ||
3154 | 437 | + * This code is in the public domain; do with it what you wish. | ||
3155 | 438 | + * | ||
3156 | 439 | + * Equivalent code is available from RSA Data Security, Inc. | ||
3157 | 440 | + * This code has been tested against that, and is equivalent, | ||
3158 | 441 | + * except that you don't need to include two pages of legalese | ||
3159 | 442 | + * with every copy. | ||
3160 | 443 | + * | ||
3161 | 444 | + * To compute the message digest of a chunk of bytes, declare an | ||
3162 | 445 | + * MD5Context structure, pass it to MD5Init, call MD5Update as | ||
3163 | 446 | + * needed on buffers full of bytes, and then call MD5Final, which | ||
3164 | 447 | + * will fill a supplied 16-byte array with the digest. | ||
3165 | 448 | + * | ||
3166 | 449 | + */ | ||
3167 | 450 | + | ||
3168 | 451 | +#include <string.h> | ||
3169 | 452 | +#include "md5.h" | ||
3170 | 453 | + | ||
3171 | 454 | +#ifndef HIGHFIRST | ||
3172 | 455 | +#define byteReverse(buf, len) /* Nothing */ | ||
3173 | 456 | +#else | ||
3174 | 457 | +static void byteReverse(unsigned char *buf, unsigned longs); | ||
3175 | 458 | + | ||
3176 | 459 | +#ifndef ASM_MD5 | ||
3177 | 460 | +/* | ||
3178 | 461 | + * Note: this code is harmless on little-endian machines. | ||
3179 | 462 | + */ | ||
3180 | 463 | +static void byteReverse(unsigned char *buf, unsigned longs) | ||
3181 | 464 | +{ | ||
3182 | 465 | + uint32 t; | ||
3183 | 466 | + do { | ||
3184 | 467 | + t = (uint32) ((unsigned) buf[3] << 8 | buf[2]) << 16 | | ||
3185 | 468 | + ((unsigned) buf[1] << 8 | buf[0]); | ||
3186 | 469 | + *(uint32 *) buf = t; | ||
3187 | 470 | + buf += 4; | ||
3188 | 471 | + } while (--longs); | ||
3189 | 472 | +} | ||
3190 | 473 | +#endif | ||
3191 | 474 | +#endif | ||
3192 | 475 | + | ||
3193 | 476 | +/* | ||
3194 | 477 | + * Start MD5 accumulation. Set bit count to 0 and buffer to mysterious | ||
3195 | 478 | + * initialization constants. | ||
3196 | 479 | + */ | ||
3197 | 480 | +void MD5Name(MD5Init)(struct MD5Context *ctx) | ||
3198 | 481 | +{ | ||
3199 | 482 | + ctx->buf[0] = 0x67452301U; | ||
3200 | 483 | + ctx->buf[1] = 0xefcdab89U; | ||
3201 | 484 | + ctx->buf[2] = 0x98badcfeU; | ||
3202 | 485 | + ctx->buf[3] = 0x10325476U; | ||
3203 | 486 | + | ||
3204 | 487 | + ctx->bits[0] = 0; | ||
3205 | 488 | + ctx->bits[1] = 0; | ||
3206 | 489 | +} | ||
3207 | 490 | + | ||
3208 | 491 | +/* | ||
3209 | 492 | + * Update context to reflect the concatenation of another buffer full | ||
3210 | 493 | + * of bytes. | ||
3211 | 494 | + */ | ||
3212 | 495 | +void MD5Name(MD5Update)(struct MD5Context *ctx, unsigned const char *buf, unsigned len) | ||
3213 | 496 | +{ | ||
3214 | 497 | + uint32 t; | ||
3215 | 498 | + | ||
3216 | 499 | + /* Update bitcount */ | ||
3217 | 500 | + | ||
3218 | 501 | + t = ctx->bits[0]; | ||
3219 | 502 | + if ((ctx->bits[0] = t + ((uint32) len << 3)) < t) | ||
3220 | 503 | + ctx->bits[1]++; /* Carry from low to high */ | ||
3221 | 504 | + ctx->bits[1] += len >> 29; | ||
3222 | 505 | + | ||
3223 | 506 | + t = (t >> 3) & 0x3f; /* Bytes already in shsInfo->data */ | ||
3224 | 507 | + | ||
3225 | 508 | + /* Handle any leading odd-sized chunks */ | ||
3226 | 509 | + | ||
3227 | 510 | + if (t) { | ||
3228 | 511 | + unsigned char *p = (unsigned char *) ctx->in + t; | ||
3229 | 512 | + | ||
3230 | 513 | + t = 64 - t; | ||
3231 | 514 | + if (len < t) { | ||
3232 | 515 | + memcpy(p, buf, len); | ||
3233 | 516 | + return; | ||
3234 | 517 | + } | ||
3235 | 518 | + memcpy(p, buf, t); | ||
3236 | 519 | + byteReverse(ctx->in, 16); | ||
3237 | 520 | + MD5Name(MD5Transform)(ctx->buf, (uint32 *) ctx->in); | ||
3238 | 521 | + buf += t; | ||
3239 | 522 | + len -= t; | ||
3240 | 523 | + } | ||
3241 | 524 | + /* Process data in 64-byte chunks */ | ||
3242 | 525 | + | ||
3243 | 526 | + while (len >= 64) { | ||
3244 | 527 | + memcpy(ctx->in, buf, 64); | ||
3245 | 528 | + byteReverse(ctx->in, 16); | ||
3246 | 529 | + MD5Name(MD5Transform)(ctx->buf, (uint32 *) ctx->in); | ||
3247 | 530 | + buf += 64; | ||
3248 | 531 | + len -= 64; | ||
3249 | 532 | + } | ||
3250 | 533 | + | ||
3251 | 534 | + /* Handle any remaining bytes of data. */ | ||
3252 | 535 | + | ||
3253 | 536 | + memcpy(ctx->in, buf, len); | ||
3254 | 537 | +} | ||
3255 | 538 | + | ||
3256 | 539 | +/* | ||
3257 | 540 | + * Final wrapup - pad to 64-byte boundary with the bit pattern | ||
3258 | 541 | + * 1 0* (64-bit count of bits processed, MSB-first) | ||
3259 | 542 | + */ | ||
3260 | 543 | +void MD5Name(MD5Final)(unsigned char digest[16], struct MD5Context *ctx) | ||
3261 | 544 | +{ | ||
3262 | 545 | + unsigned count; | ||
3263 | 546 | + unsigned char *p; | ||
3264 | 547 | + | ||
3265 | 548 | + /* Compute number of bytes mod 64 */ | ||
3266 | 549 | + count = (ctx->bits[0] >> 3) & 0x3F; | ||
3267 | 550 | + | ||
3268 | 551 | + /* Set the first char of padding to 0x80. This is safe since there is | ||
3269 | 552 | + always at least one byte free */ | ||
3270 | 553 | + p = ctx->in + count; | ||
3271 | 554 | + *p++ = 0x80; | ||
3272 | 555 | + | ||
3273 | 556 | + /* Bytes of padding needed to make 64 bytes */ | ||
3274 | 557 | + count = 64 - 1 - count; | ||
3275 | 558 | + | ||
3276 | 559 | + /* Pad out to 56 mod 64 */ | ||
3277 | 560 | + if (count < 8) { | ||
3278 | 561 | + /* Two lots of padding: Pad the first block to 64 bytes */ | ||
3279 | 562 | + memset(p, 0, count); | ||
3280 | 563 | + byteReverse(ctx->in, 16); | ||
3281 | 564 | + MD5Name(MD5Transform)(ctx->buf, (uint32 *) ctx->in); | ||
3282 | 565 | + | ||
3283 | 566 | + /* Now fill the next block with 56 bytes */ | ||
3284 | 567 | + memset(ctx->in, 0, 56); | ||
3285 | 568 | + } else { | ||
3286 | 569 | + /* Pad block to 56 bytes */ | ||
3287 | 570 | + memset(p, 0, count - 8); | ||
3288 | 571 | + } | ||
3289 | 572 | + byteReverse(ctx->in, 14); | ||
3290 | 573 | + | ||
3291 | 574 | + /* Append length in bits and transform */ | ||
3292 | 575 | + memcpy((uint32 *)ctx->in + 14, ctx->bits, 2*sizeof(uint32)); | ||
3293 | 576 | + | ||
3294 | 577 | + MD5Name(MD5Transform)(ctx->buf, (uint32 *) ctx->in); | ||
3295 | 578 | + byteReverse((unsigned char *) ctx->buf, 4); | ||
3296 | 579 | + memcpy(digest, ctx->buf, 16); | ||
3297 | 580 | + memset(ctx, 0, sizeof(*ctx)); /* In case it's sensitive */ | ||
3298 | 581 | +} | ||
3299 | 582 | + | ||
3300 | 583 | +#ifndef ASM_MD5 | ||
3301 | 584 | + | ||
3302 | 585 | +/* The four core functions - F1 is optimized somewhat */ | ||
3303 | 586 | + | ||
3304 | 587 | +/* #define F1(x, y, z) (x & y | ~x & z) */ | ||
3305 | 588 | +#define F1(x, y, z) (z ^ (x & (y ^ z))) | ||
3306 | 589 | +#define F2(x, y, z) F1(z, x, y) | ||
3307 | 590 | +#define F3(x, y, z) (x ^ y ^ z) | ||
3308 | 591 | +#define F4(x, y, z) (y ^ (x | ~z)) | ||
3309 | 592 | + | ||
3310 | 593 | +/* This is the central step in the MD5 algorithm. */ | ||
3311 | 594 | +#define MD5STEP(f, w, x, y, z, data, s) \ | ||
3312 | 595 | + ( w += f(x, y, z) + data, w = w<<s | w>>(32-s), w += x ) | ||
3313 | 596 | + | ||
3314 | 597 | +/* | ||
3315 | 598 | + * The core of the MD5 algorithm, this alters an existing MD5 hash to | ||
3316 | 599 | + * reflect the addition of 16 longwords of new data. MD5Update blocks | ||
3317 | 600 | + * the data and converts bytes into longwords for this routine. | ||
3318 | 601 | + */ | ||
3319 | 602 | +void MD5Name(MD5Transform)(uint32 buf[4], uint32 const in[16]) | ||
3320 | 603 | +{ | ||
3321 | 604 | + register uint32 a, b, c, d; | ||
3322 | 605 | + | ||
3323 | 606 | + a = buf[0]; | ||
3324 | 607 | + b = buf[1]; | ||
3325 | 608 | + c = buf[2]; | ||
3326 | 609 | + d = buf[3]; | ||
3327 | 610 | + | ||
3328 | 611 | + MD5STEP(F1, a, b, c, d, in[0] + 0xd76aa478U, 7); | ||
3329 | 612 | + MD5STEP(F1, d, a, b, c, in[1] + 0xe8c7b756U, 12); | ||
3330 | 613 | + MD5STEP(F1, c, d, a, b, in[2] + 0x242070dbU, 17); | ||
3331 | 614 | + MD5STEP(F1, b, c, d, a, in[3] + 0xc1bdceeeU, 22); | ||
3332 | 615 | + MD5STEP(F1, a, b, c, d, in[4] + 0xf57c0fafU, 7); | ||
3333 | 616 | + MD5STEP(F1, d, a, b, c, in[5] + 0x4787c62aU, 12); | ||
3334 | 617 | + MD5STEP(F1, c, d, a, b, in[6] + 0xa8304613U, 17); | ||
3335 | 618 | + MD5STEP(F1, b, c, d, a, in[7] + 0xfd469501U, 22); | ||
3336 | 619 | + MD5STEP(F1, a, b, c, d, in[8] + 0x698098d8U, 7); | ||
3337 | 620 | + MD5STEP(F1, d, a, b, c, in[9] + 0x8b44f7afU, 12); | ||
3338 | 621 | + MD5STEP(F1, c, d, a, b, in[10] + 0xffff5bb1U, 17); | ||
3339 | 622 | + MD5STEP(F1, b, c, d, a, in[11] + 0x895cd7beU, 22); | ||
3340 | 623 | + MD5STEP(F1, a, b, c, d, in[12] + 0x6b901122U, 7); | ||
3341 | 624 | + MD5STEP(F1, d, a, b, c, in[13] + 0xfd987193U, 12); | ||
3342 | 625 | + MD5STEP(F1, c, d, a, b, in[14] + 0xa679438eU, 17); | ||
3343 | 626 | + MD5STEP(F1, b, c, d, a, in[15] + 0x49b40821U, 22); | ||
3344 | 627 | + | ||
3345 | 628 | + MD5STEP(F2, a, b, c, d, in[1] + 0xf61e2562U, 5); | ||
3346 | 629 | + MD5STEP(F2, d, a, b, c, in[6] + 0xc040b340U, 9); | ||
3347 | 630 | + MD5STEP(F2, c, d, a, b, in[11] + 0x265e5a51U, 14); | ||
3348 | 631 | + MD5STEP(F2, b, c, d, a, in[0] + 0xe9b6c7aaU, 20); | ||
3349 | 632 | + MD5STEP(F2, a, b, c, d, in[5] + 0xd62f105dU, 5); | ||
3350 | 633 | + MD5STEP(F2, d, a, b, c, in[10] + 0x02441453U, 9); | ||
3351 | 634 | + MD5STEP(F2, c, d, a, b, in[15] + 0xd8a1e681U, 14); | ||
3352 | 635 | + MD5STEP(F2, b, c, d, a, in[4] + 0xe7d3fbc8U, 20); | ||
3353 | 636 | + MD5STEP(F2, a, b, c, d, in[9] + 0x21e1cde6U, 5); | ||
3354 | 637 | + MD5STEP(F2, d, a, b, c, in[14] + 0xc33707d6U, 9); | ||
3355 | 638 | + MD5STEP(F2, c, d, a, b, in[3] + 0xf4d50d87U, 14); | ||
3356 | 639 | + MD5STEP(F2, b, c, d, a, in[8] + 0x455a14edU, 20); | ||
3357 | 640 | + MD5STEP(F2, a, b, c, d, in[13] + 0xa9e3e905U, 5); | ||
3358 | 641 | + MD5STEP(F2, d, a, b, c, in[2] + 0xfcefa3f8U, 9); | ||
3359 | 642 | + MD5STEP(F2, c, d, a, b, in[7] + 0x676f02d9U, 14); | ||
3360 | 643 | + MD5STEP(F2, b, c, d, a, in[12] + 0x8d2a4c8aU, 20); | ||
3361 | 644 | + | ||
3362 | 645 | + MD5STEP(F3, a, b, c, d, in[5] + 0xfffa3942U, 4); | ||
3363 | 646 | + MD5STEP(F3, d, a, b, c, in[8] + 0x8771f681U, 11); | ||
3364 | 647 | + MD5STEP(F3, c, d, a, b, in[11] + 0x6d9d6122U, 16); | ||
3365 | 648 | + MD5STEP(F3, b, c, d, a, in[14] + 0xfde5380cU, 23); | ||
3366 | 649 | + MD5STEP(F3, a, b, c, d, in[1] + 0xa4beea44U, 4); | ||
3367 | 650 | + MD5STEP(F3, d, a, b, c, in[4] + 0x4bdecfa9U, 11); | ||
3368 | 651 | + MD5STEP(F3, c, d, a, b, in[7] + 0xf6bb4b60U, 16); | ||
3369 | 652 | + MD5STEP(F3, b, c, d, a, in[10] + 0xbebfbc70U, 23); | ||
3370 | 653 | + MD5STEP(F3, a, b, c, d, in[13] + 0x289b7ec6U, 4); | ||
3371 | 654 | + MD5STEP(F3, d, a, b, c, in[0] + 0xeaa127faU, 11); | ||
3372 | 655 | + MD5STEP(F3, c, d, a, b, in[3] + 0xd4ef3085U, 16); | ||
3373 | 656 | + MD5STEP(F3, b, c, d, a, in[6] + 0x04881d05U, 23); | ||
3374 | 657 | + MD5STEP(F3, a, b, c, d, in[9] + 0xd9d4d039U, 4); | ||
3375 | 658 | + MD5STEP(F3, d, a, b, c, in[12] + 0xe6db99e5U, 11); | ||
3376 | 659 | + MD5STEP(F3, c, d, a, b, in[15] + 0x1fa27cf8U, 16); | ||
3377 | 660 | + MD5STEP(F3, b, c, d, a, in[2] + 0xc4ac5665U, 23); | ||
3378 | 661 | + | ||
3379 | 662 | + MD5STEP(F4, a, b, c, d, in[0] + 0xf4292244U, 6); | ||
3380 | 663 | + MD5STEP(F4, d, a, b, c, in[7] + 0x432aff97U, 10); | ||
3381 | 664 | + MD5STEP(F4, c, d, a, b, in[14] + 0xab9423a7U, 15); | ||
3382 | 665 | + MD5STEP(F4, b, c, d, a, in[5] + 0xfc93a039U, 21); | ||
3383 | 666 | + MD5STEP(F4, a, b, c, d, in[12] + 0x655b59c3U, 6); | ||
3384 | 667 | + MD5STEP(F4, d, a, b, c, in[3] + 0x8f0ccc92U, 10); | ||
3385 | 668 | + MD5STEP(F4, c, d, a, b, in[10] + 0xffeff47dU, 15); | ||
3386 | 669 | + MD5STEP(F4, b, c, d, a, in[1] + 0x85845dd1U, 21); | ||
3387 | 670 | + MD5STEP(F4, a, b, c, d, in[8] + 0x6fa87e4fU, 6); | ||
3388 | 671 | + MD5STEP(F4, d, a, b, c, in[15] + 0xfe2ce6e0U, 10); | ||
3389 | 672 | + MD5STEP(F4, c, d, a, b, in[6] + 0xa3014314U, 15); | ||
3390 | 673 | + MD5STEP(F4, b, c, d, a, in[13] + 0x4e0811a1U, 21); | ||
3391 | 674 | + MD5STEP(F4, a, b, c, d, in[4] + 0xf7537e82U, 6); | ||
3392 | 675 | + MD5STEP(F4, d, a, b, c, in[11] + 0xbd3af235U, 10); | ||
3393 | 676 | + MD5STEP(F4, c, d, a, b, in[2] + 0x2ad7d2bbU, 15); | ||
3394 | 677 | + MD5STEP(F4, b, c, d, a, in[9] + 0xeb86d391U, 21); | ||
3395 | 678 | + | ||
3396 | 679 | + buf[0] += a; | ||
3397 | 680 | + buf[1] += b; | ||
3398 | 681 | + buf[2] += c; | ||
3399 | 682 | + buf[3] += d; | ||
3400 | 683 | +} | ||
3401 | 684 | + | ||
3402 | 685 | +#endif | ||
3403 | 686 | Index: pam-1.1.8/modules/pam_extrausers/md5.h | ||
3404 | 687 | =================================================================== | ||
3405 | 688 | --- /dev/null | ||
3406 | 689 | +++ pam-1.1.8/modules/pam_extrausers/md5.h | ||
3407 | 690 | @@ -0,0 +1,31 @@ | ||
3408 | 691 | + | ||
3409 | 692 | +#ifndef MD5_H | ||
3410 | 693 | +#define MD5_H | ||
3411 | 694 | + | ||
3412 | 695 | +typedef unsigned int uint32; | ||
3413 | 696 | + | ||
3414 | 697 | +struct MD5Context { | ||
3415 | 698 | + uint32 buf[4]; | ||
3416 | 699 | + uint32 bits[2]; | ||
3417 | 700 | + unsigned char in[64]; | ||
3418 | 701 | +}; | ||
3419 | 702 | + | ||
3420 | 703 | +void GoodMD5Init(struct MD5Context *); | ||
3421 | 704 | +void GoodMD5Update(struct MD5Context *, unsigned const char *, unsigned); | ||
3422 | 705 | +void GoodMD5Final(unsigned char digest[16], struct MD5Context *); | ||
3423 | 706 | +void GoodMD5Transform(uint32 buf[4], uint32 const in[16]); | ||
3424 | 707 | +void BrokenMD5Init(struct MD5Context *); | ||
3425 | 708 | +void BrokenMD5Update(struct MD5Context *, unsigned const char *, unsigned); | ||
3426 | 709 | +void BrokenMD5Final(unsigned char digest[16], struct MD5Context *); | ||
3427 | 710 | +void BrokenMD5Transform(uint32 buf[4], uint32 const in[16]); | ||
3428 | 711 | + | ||
3429 | 712 | +char *Goodcrypt_md5(const char *pw, const char *salt); | ||
3430 | 713 | +char *Brokencrypt_md5(const char *pw, const char *salt); | ||
3431 | 714 | + | ||
3432 | 715 | +/* | ||
3433 | 716 | + * This is needed to make RSAREF happy on some MS-DOS compilers. | ||
3434 | 717 | + */ | ||
3435 | 718 | + | ||
3436 | 719 | +typedef struct MD5Context MD5_CTX; | ||
3437 | 720 | + | ||
3438 | 721 | +#endif /* MD5_H */ | ||
3439 | 722 | Index: pam-1.1.8/modules/pam_extrausers/md5_broken.c | ||
3440 | 723 | =================================================================== | ||
3441 | 724 | --- /dev/null | ||
3442 | 725 | +++ pam-1.1.8/modules/pam_extrausers/md5_broken.c | ||
3443 | 726 | @@ -0,0 +1,4 @@ | ||
3444 | 727 | +#define MD5Name(x) Broken##x | ||
3445 | 728 | + | ||
3446 | 729 | +#include "md5.c" | ||
3447 | 730 | +#include "md5_crypt.c" | ||
3448 | 731 | Index: pam-1.1.8/modules/pam_extrausers/md5_crypt.c | ||
3449 | 732 | =================================================================== | ||
3450 | 733 | --- /dev/null | ||
3451 | 734 | +++ pam-1.1.8/modules/pam_extrausers/md5_crypt.c | ||
3452 | 735 | @@ -0,0 +1,154 @@ | ||
3453 | 736 | +/* | ||
3454 | 737 | + * $Id$ | ||
3455 | 738 | + * | ||
3456 | 739 | + * ---------------------------------------------------------------------------- | ||
3457 | 740 | + * "THE BEER-WARE LICENSE" (Revision 42): | ||
3458 | 741 | + * <phk@login.dknet.dk> wrote this file. As long as you retain this notice you | ||
3459 | 742 | + * can do whatever you want with this stuff. If we meet some day, and you think | ||
3460 | 743 | + * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp | ||
3461 | 744 | + * ---------------------------------------------------------------------------- | ||
3462 | 745 | + * | ||
3463 | 746 | + * Origin: Id: crypt.c,v 1.3 1995/05/30 05:42:22 rgrimes Exp | ||
3464 | 747 | + * | ||
3465 | 748 | + */ | ||
3466 | 749 | + | ||
3467 | 750 | +#include <string.h> | ||
3468 | 751 | +#include <stdlib.h> | ||
3469 | 752 | +#include "md5.h" | ||
3470 | 753 | + | ||
3471 | 754 | +static unsigned char itoa64[] = /* 0 ... 63 => ascii - 64 */ | ||
3472 | 755 | +"./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; | ||
3473 | 756 | + | ||
3474 | 757 | +static void to64(char *s, unsigned long v, int n) | ||
3475 | 758 | +{ | ||
3476 | 759 | + while (--n >= 0) { | ||
3477 | 760 | + *s++ = itoa64[v & 0x3f]; | ||
3478 | 761 | + v >>= 6; | ||
3479 | 762 | + } | ||
3480 | 763 | +} | ||
3481 | 764 | + | ||
3482 | 765 | +/* | ||
3483 | 766 | + * UNIX password | ||
3484 | 767 | + * | ||
3485 | 768 | + * Use MD5 for what it is best at... | ||
3486 | 769 | + */ | ||
3487 | 770 | + | ||
3488 | 771 | +char *MD5Name(crypt_md5)(const char *pw, const char *salt) | ||
3489 | 772 | +{ | ||
3490 | 773 | + const char *magic = "$1$"; | ||
3491 | 774 | + /* This string is magic for this algorithm. Having | ||
3492 | 775 | + * it this way, we can get get better later on */ | ||
3493 | 776 | + char *passwd, *p; | ||
3494 | 777 | + const char *sp, *ep; | ||
3495 | 778 | + unsigned char final[16]; | ||
3496 | 779 | + int sl, pl, i, j; | ||
3497 | 780 | + MD5_CTX ctx, ctx1; | ||
3498 | 781 | + unsigned long l; | ||
3499 | 782 | + | ||
3500 | 783 | + /* Refine the Salt first */ | ||
3501 | 784 | + sp = salt; | ||
3502 | 785 | + | ||
3503 | 786 | + /* TODO: now that we're using malloc'ed memory, get rid of the | ||
3504 | 787 | + strange constant buffer size. */ | ||
3505 | 788 | + passwd = malloc(120); | ||
3506 | 789 | + | ||
3507 | 790 | + /* If it starts with the magic string, then skip that */ | ||
3508 | 791 | + if (!strncmp(sp, magic, strlen(magic))) | ||
3509 | 792 | + sp += strlen(magic); | ||
3510 | 793 | + | ||
3511 | 794 | + /* It stops at the first '$', max 8 chars */ | ||
3512 | 795 | + for (ep = sp; *ep && *ep != '$' && ep < (sp + 8); ep++) | ||
3513 | 796 | + continue; | ||
3514 | 797 | + | ||
3515 | 798 | + /* get the length of the true salt */ | ||
3516 | 799 | + sl = ep - sp; | ||
3517 | 800 | + | ||
3518 | 801 | + MD5Name(MD5Init)(&ctx); | ||
3519 | 802 | + | ||
3520 | 803 | + /* The password first, since that is what is most unknown */ | ||
3521 | 804 | + MD5Name(MD5Update)(&ctx,(unsigned const char *)pw,strlen(pw)); | ||
3522 | 805 | + | ||
3523 | 806 | + /* Then our magic string */ | ||
3524 | 807 | + MD5Name(MD5Update)(&ctx,(unsigned const char *)magic,strlen(magic)); | ||
3525 | 808 | + | ||
3526 | 809 | + /* Then the raw salt */ | ||
3527 | 810 | + MD5Name(MD5Update)(&ctx,(unsigned const char *)sp,sl); | ||
3528 | 811 | + | ||
3529 | 812 | + /* Then just as many characters of the MD5(pw,salt,pw) */ | ||
3530 | 813 | + MD5Name(MD5Init)(&ctx1); | ||
3531 | 814 | + MD5Name(MD5Update)(&ctx1,(unsigned const char *)pw,strlen(pw)); | ||
3532 | 815 | + MD5Name(MD5Update)(&ctx1,(unsigned const char *)sp,sl); | ||
3533 | 816 | + MD5Name(MD5Update)(&ctx1,(unsigned const char *)pw,strlen(pw)); | ||
3534 | 817 | + MD5Name(MD5Final)(final,&ctx1); | ||
3535 | 818 | + for (pl = strlen(pw); pl > 0; pl -= 16) | ||
3536 | 819 | + MD5Name(MD5Update)(&ctx,(unsigned const char *)final,pl>16 ? 16 : pl); | ||
3537 | 820 | + | ||
3538 | 821 | + /* Don't leave anything around in vm they could use. */ | ||
3539 | 822 | + memset(final, 0, sizeof final); | ||
3540 | 823 | + | ||
3541 | 824 | + /* Then something really weird... */ | ||
3542 | 825 | + for (j = 0, i = strlen(pw); i; i >>= 1) | ||
3543 | 826 | + if (i & 1) | ||
3544 | 827 | + MD5Name(MD5Update)(&ctx, (unsigned const char *)final+j, 1); | ||
3545 | 828 | + else | ||
3546 | 829 | + MD5Name(MD5Update)(&ctx, (unsigned const char *)pw+j, 1); | ||
3547 | 830 | + | ||
3548 | 831 | + /* Now make the output string */ | ||
3549 | 832 | + strcpy(passwd, magic); | ||
3550 | 833 | + strncat(passwd, sp, sl); | ||
3551 | 834 | + strcat(passwd, "$"); | ||
3552 | 835 | + | ||
3553 | 836 | + MD5Name(MD5Final)(final,&ctx); | ||
3554 | 837 | + | ||
3555 | 838 | + /* | ||
3556 | 839 | + * and now, just to make sure things don't run too fast | ||
3557 | 840 | + * On a 60 Mhz Pentium this takes 34 msec, so you would | ||
3558 | 841 | + * need 30 seconds to build a 1000 entry dictionary... | ||
3559 | 842 | + */ | ||
3560 | 843 | + for (i = 0; i < 1000; i++) { | ||
3561 | 844 | + MD5Name(MD5Init)(&ctx1); | ||
3562 | 845 | + if (i & 1) | ||
3563 | 846 | + MD5Name(MD5Update)(&ctx1,(unsigned const char *)pw,strlen(pw)); | ||
3564 | 847 | + else | ||
3565 | 848 | + MD5Name(MD5Update)(&ctx1,(unsigned const char *)final,16); | ||
3566 | 849 | + | ||
3567 | 850 | + if (i % 3) | ||
3568 | 851 | + MD5Name(MD5Update)(&ctx1,(unsigned const char *)sp,sl); | ||
3569 | 852 | + | ||
3570 | 853 | + if (i % 7) | ||
3571 | 854 | + MD5Name(MD5Update)(&ctx1,(unsigned const char *)pw,strlen(pw)); | ||
3572 | 855 | + | ||
3573 | 856 | + if (i & 1) | ||
3574 | 857 | + MD5Name(MD5Update)(&ctx1,(unsigned const char *)final,16); | ||
3575 | 858 | + else | ||
3576 | 859 | + MD5Name(MD5Update)(&ctx1,(unsigned const char *)pw,strlen(pw)); | ||
3577 | 860 | + MD5Name(MD5Final)(final,&ctx1); | ||
3578 | 861 | + } | ||
3579 | 862 | + | ||
3580 | 863 | + p = passwd + strlen(passwd); | ||
3581 | 864 | + | ||
3582 | 865 | + l = (final[0] << 16) | (final[6] << 8) | final[12]; | ||
3583 | 866 | + to64(p, l, 4); | ||
3584 | 867 | + p += 4; | ||
3585 | 868 | + l = (final[1] << 16) | (final[7] << 8) | final[13]; | ||
3586 | 869 | + to64(p, l, 4); | ||
3587 | 870 | + p += 4; | ||
3588 | 871 | + l = (final[2] << 16) | (final[8] << 8) | final[14]; | ||
3589 | 872 | + to64(p, l, 4); | ||
3590 | 873 | + p += 4; | ||
3591 | 874 | + l = (final[3] << 16) | (final[9] << 8) | final[15]; | ||
3592 | 875 | + to64(p, l, 4); | ||
3593 | 876 | + p += 4; | ||
3594 | 877 | + l = (final[4] << 16) | (final[10] << 8) | final[5]; | ||
3595 | 878 | + to64(p, l, 4); | ||
3596 | 879 | + p += 4; | ||
3597 | 880 | + l = final[11]; | ||
3598 | 881 | + to64(p, l, 2); | ||
3599 | 882 | + p += 2; | ||
3600 | 883 | + *p = '\0'; | ||
3601 | 884 | + | ||
3602 | 885 | + /* Don't leave anything around in vm they could use. */ | ||
3603 | 886 | + memset(final, 0, sizeof final); | ||
3604 | 887 | + | ||
3605 | 888 | + return passwd; | ||
3606 | 889 | +} | ||
3607 | 890 | Index: pam-1.1.8/modules/pam_extrausers/md5_good.c | ||
3608 | 891 | =================================================================== | ||
3609 | 892 | --- /dev/null | ||
3610 | 893 | +++ pam-1.1.8/modules/pam_extrausers/md5_good.c | ||
3611 | 894 | @@ -0,0 +1,5 @@ | ||
3612 | 895 | +#define HIGHFIRST | ||
3613 | 896 | +#define MD5Name(x) Good##x | ||
3614 | 897 | + | ||
3615 | 898 | +#include "md5.c" | ||
3616 | 899 | +#include "md5_crypt.c" | ||
3617 | 900 | Index: pam-1.1.8/modules/pam_extrausers/obscure.c | ||
3618 | 901 | =================================================================== | ||
3619 | 902 | --- /dev/null | ||
3620 | 903 | +++ pam-1.1.8/modules/pam_extrausers/obscure.c | ||
3621 | 904 | @@ -0,0 +1,198 @@ | ||
3622 | 905 | +/* | ||
3623 | 906 | + * Copyright 1989 - 1994, Julianne Frances Haugh | ||
3624 | 907 | + * All rights reserved. | ||
3625 | 908 | + * | ||
3626 | 909 | + * Redistribution and use in source and binary forms, with or without | ||
3627 | 910 | + * modification, are permitted provided that the following conditions | ||
3628 | 911 | + * are met: | ||
3629 | 912 | + * 1. Redistributions of source code must retain the above copyright | ||
3630 | 913 | + * notice, this list of conditions and the following disclaimer. | ||
3631 | 914 | + * 2. Redistributions in binary form must reproduce the above copyright | ||
3632 | 915 | + * notice, this list of conditions and the following disclaimer in the | ||
3633 | 916 | + * documentation and/or other materials provided with the distribution. | ||
3634 | 917 | + * 3. Neither the name of Julianne F. Haugh nor the names of its contributors | ||
3635 | 918 | + * may be used to endorse or promote products derived from this software | ||
3636 | 919 | + * without specific prior written permission. | ||
3637 | 920 | + * | ||
3638 | 921 | + * THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND | ||
3639 | 922 | + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
3640 | 923 | + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
3641 | 924 | + * ARE DISCLAIMED. IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE | ||
3642 | 925 | + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||
3643 | 926 | + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||
3644 | 927 | + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||
3645 | 928 | + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||
3646 | 929 | + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||
3647 | 930 | + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||
3648 | 931 | + * SUCH DAMAGE. | ||
3649 | 932 | + */ | ||
3650 | 933 | + | ||
3651 | 934 | +#include "config.h" | ||
3652 | 935 | + | ||
3653 | 936 | +#include <ctype.h> | ||
3654 | 937 | +#include <stdio.h> | ||
3655 | 938 | +#include <unistd.h> | ||
3656 | 939 | +#include <string.h> | ||
3657 | 940 | +#include <stdlib.h> | ||
3658 | 941 | +#include <pwd.h> | ||
3659 | 942 | +#include <security/pam_modules.h> | ||
3660 | 943 | +#include <security/_pam_macros.h> | ||
3661 | 944 | + | ||
3662 | 945 | + | ||
3663 | 946 | +#include "support.h" | ||
3664 | 947 | + | ||
3665 | 948 | +/* can't be a palindrome - like `R A D A R' or `M A D A M' */ | ||
3666 | 949 | +static int palindrome(const char *old, const char *new) { | ||
3667 | 950 | + int i, j; | ||
3668 | 951 | + | ||
3669 | 952 | + i = strlen (new); | ||
3670 | 953 | + | ||
3671 | 954 | + for (j = 0;j < i;j++) | ||
3672 | 955 | + if (new[i - j - 1] != new[j]) | ||
3673 | 956 | + return 0; | ||
3674 | 957 | + | ||
3675 | 958 | + return 1; | ||
3676 | 959 | +} | ||
3677 | 960 | + | ||
3678 | 961 | +/* more than half of the characters are different ones. */ | ||
3679 | 962 | +static int similar(const char *old, const char *new) { | ||
3680 | 963 | + int i, j; | ||
3681 | 964 | + | ||
3682 | 965 | + /* | ||
3683 | 966 | + * XXX - sometimes this fails when changing from a simple password | ||
3684 | 967 | + * to a really long one (MD5). For now, I just return success if | ||
3685 | 968 | + * the new password is long enough. Please feel free to suggest | ||
3686 | 969 | + * something better... --marekm | ||
3687 | 970 | + */ | ||
3688 | 971 | + if (strlen(new) >= 8) | ||
3689 | 972 | + return 0; | ||
3690 | 973 | + | ||
3691 | 974 | + for (i = j = 0; new[i] && old[i]; i++) | ||
3692 | 975 | + if (strchr(new, old[i])) | ||
3693 | 976 | + j++; | ||
3694 | 977 | + | ||
3695 | 978 | + if (i >= j * 2) | ||
3696 | 979 | + return 0; | ||
3697 | 980 | + | ||
3698 | 981 | + return 1; | ||
3699 | 982 | +} | ||
3700 | 983 | + | ||
3701 | 984 | +/* a nice mix of characters. */ | ||
3702 | 985 | +static int simple(const char *old, const char *new) { | ||
3703 | 986 | + int digits = 0; | ||
3704 | 987 | + int uppers = 0; | ||
3705 | 988 | + int lowers = 0; | ||
3706 | 989 | + int others = 0; | ||
3707 | 990 | + int size; | ||
3708 | 991 | + int i; | ||
3709 | 992 | + | ||
3710 | 993 | + for (i = 0;new[i];i++) { | ||
3711 | 994 | + if (isdigit (new[i])) | ||
3712 | 995 | + digits++; | ||
3713 | 996 | + else if (isupper (new[i])) | ||
3714 | 997 | + uppers++; | ||
3715 | 998 | + else if (islower (new[i])) | ||
3716 | 999 | + lowers++; | ||
3717 | 1000 | + else | ||
3718 | 1001 | + others++; | ||
3719 | 1002 | + } | ||
3720 | 1003 | + | ||
3721 | 1004 | + /* | ||
3722 | 1005 | + * The scam is this - a password of only one character type | ||
3723 | 1006 | + * must be 8 letters long. Two types, 7, and so on. | ||
3724 | 1007 | + */ | ||
3725 | 1008 | + | ||
3726 | 1009 | + size = 9; | ||
3727 | 1010 | + if (digits) size--; | ||
3728 | 1011 | + if (uppers) size--; | ||
3729 | 1012 | + if (lowers) size--; | ||
3730 | 1013 | + if (others) size--; | ||
3731 | 1014 | + | ||
3732 | 1015 | + if (size <= i) | ||
3733 | 1016 | + return 0; | ||
3734 | 1017 | + | ||
3735 | 1018 | + return 1; | ||
3736 | 1019 | +} | ||
3737 | 1020 | + | ||
3738 | 1021 | +static char *str_lower(char *string) { | ||
3739 | 1022 | + char *cp; | ||
3740 | 1023 | + | ||
3741 | 1024 | + for (cp = string; *cp; cp++) | ||
3742 | 1025 | + *cp = tolower(*cp); | ||
3743 | 1026 | + return string; | ||
3744 | 1027 | +} | ||
3745 | 1028 | + | ||
3746 | 1029 | +static const char * password_check(const char *old, const char *new, | ||
3747 | 1030 | + const struct passwd *pwdp) { | ||
3748 | 1031 | + const char *msg = NULL; | ||
3749 | 1032 | + char *oldmono, *newmono, *wrapped; | ||
3750 | 1033 | + | ||
3751 | 1034 | + if (strcmp(new, old) == 0) | ||
3752 | 1035 | + return _("Bad: new password must be different than the old one"); | ||
3753 | 1036 | + | ||
3754 | 1037 | + newmono = str_lower(strdup(new)); | ||
3755 | 1038 | + oldmono = str_lower(strdup(old)); | ||
3756 | 1039 | + wrapped = (char *)malloc(strlen(oldmono) * 2 + 1); | ||
3757 | 1040 | + strcpy (wrapped, oldmono); | ||
3758 | 1041 | + strcat (wrapped, oldmono); | ||
3759 | 1042 | + | ||
3760 | 1043 | + if (palindrome(oldmono, newmono)) { | ||
3761 | 1044 | + msg = _("Bad: new password cannot be a palindrome"); | ||
3762 | 1045 | + } else if (strcmp(oldmono, newmono) == 0) { | ||
3763 | 1046 | + msg = _("Bad: new and old password must differ by more than just case"); | ||
3764 | 1047 | + } else if (similar(oldmono, newmono)) { | ||
3765 | 1048 | + msg = _("Bad: new and old password are too similar"); | ||
3766 | 1049 | + } else if (simple(old, new)) { | ||
3767 | 1050 | + msg = _("Bad: new password is too simple"); | ||
3768 | 1051 | + } else if (strstr(wrapped, newmono)) { | ||
3769 | 1052 | + msg = _("Bad: new password is just a wrapped version of the old one"); | ||
3770 | 1053 | + } | ||
3771 | 1054 | + | ||
3772 | 1055 | + _pam_delete(newmono); | ||
3773 | 1056 | + _pam_delete(oldmono); | ||
3774 | 1057 | + _pam_delete(wrapped); | ||
3775 | 1058 | + | ||
3776 | 1059 | + return msg; | ||
3777 | 1060 | +} | ||
3778 | 1061 | + | ||
3779 | 1062 | +const char *obscure_msg(const char *old, const char *new, | ||
3780 | 1063 | + const struct passwd *pwdp, unsigned int ctrl) { | ||
3781 | 1064 | + int oldlen, newlen; | ||
3782 | 1065 | + char *new1, *old1; | ||
3783 | 1066 | + const char *msg; | ||
3784 | 1067 | + | ||
3785 | 1068 | + if (old == NULL) | ||
3786 | 1069 | + return NULL; /* no check if old is NULL */ | ||
3787 | 1070 | + | ||
3788 | 1071 | + oldlen = strlen(old); | ||
3789 | 1072 | + newlen = strlen(new); | ||
3790 | 1073 | + | ||
3791 | 1074 | + /* Remaining checks are optional. */ | ||
3792 | 1075 | + if (off(UNIX_OBSCURE_CHECKS,ctrl)) | ||
3793 | 1076 | + return NULL; | ||
3794 | 1077 | + | ||
3795 | 1078 | + if ((msg = password_check(old, new, pwdp)) != NULL) | ||
3796 | 1079 | + return msg; | ||
3797 | 1080 | + | ||
3798 | 1081 | + /* The traditional crypt() truncates passwords to 8 chars. It is | ||
3799 | 1082 | + possible to circumvent the above checks by choosing an easy | ||
3800 | 1083 | + 8-char password and adding some random characters to it... | ||
3801 | 1084 | + Example: "password$%^&*123". So check it again, this time | ||
3802 | 1085 | + truncated to the maximum length. Idea from npasswd. --marekm */ | ||
3803 | 1086 | + | ||
3804 | 1087 | + if (!UNIX_DES_CRYPT(ctrl)) | ||
3805 | 1088 | + return NULL; /* unlimited password length */ | ||
3806 | 1089 | + | ||
3807 | 1090 | + if (oldlen <= 8 && newlen <= 8) | ||
3808 | 1091 | + return NULL; | ||
3809 | 1092 | + | ||
3810 | 1093 | + new1 = strndup(new,8); | ||
3811 | 1094 | + old1 = strndup(old,8); | ||
3812 | 1095 | + | ||
3813 | 1096 | + msg = password_check(old1, new1, pwdp); | ||
3814 | 1097 | + | ||
3815 | 1098 | + _pam_delete(new1); | ||
3816 | 1099 | + _pam_delete(old1); | ||
3817 | 1100 | + | ||
3818 | 1101 | + return msg; | ||
3819 | 1102 | +} | ||
3820 | 1103 | Index: pam-1.1.8/modules/pam_extrausers/pam_unix_acct.c | ||
3821 | 1104 | =================================================================== | ||
3822 | 1105 | --- /dev/null | ||
3823 | 1106 | +++ pam-1.1.8/modules/pam_extrausers/pam_unix_acct.c | ||
3824 | 1107 | @@ -0,0 +1,304 @@ | ||
3825 | 1108 | +/* | ||
3826 | 1109 | + * Copyright Elliot Lee, 1996. All rights reserved. | ||
3827 | 1110 | + * Copyright Jan R\EAkorajski, 1999. All rights reserved. | ||
3828 | 1111 | + * | ||
3829 | 1112 | + * Redistribution and use in source and binary forms, with or without | ||
3830 | 1113 | + * modification, are permitted provided that the following conditions | ||
3831 | 1114 | + * are met: | ||
3832 | 1115 | + * 1. Redistributions of source code must retain the above copyright | ||
3833 | 1116 | + * notice, and the entire permission notice in its entirety, | ||
3834 | 1117 | + * including the disclaimer of warranties. | ||
3835 | 1118 | + * 2. Redistributions in binary form must reproduce the above copyright | ||
3836 | 1119 | + * notice, this list of conditions and the following disclaimer in the | ||
3837 | 1120 | + * documentation and/or other materials provided with the distribution. | ||
3838 | 1121 | + * 3. The name of the author may not be used to endorse or promote | ||
3839 | 1122 | + * products derived from this software without specific prior | ||
3840 | 1123 | + * written permission. | ||
3841 | 1124 | + * | ||
3842 | 1125 | + * ALTERNATIVELY, this product may be distributed under the terms of | ||
3843 | 1126 | + * the GNU Public License, in which case the provisions of the GPL are | ||
3844 | 1127 | + * required INSTEAD OF the above restrictions. (This clause is | ||
3845 | 1128 | + * necessary due to a potential bad interaction between the GPL and | ||
3846 | 1129 | + * the restrictions contained in a BSD-style copyright.) | ||
3847 | 1130 | + * | ||
3848 | 1131 | + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED | ||
3849 | 1132 | + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES | ||
3850 | 1133 | + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
3851 | 1134 | + * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, | ||
3852 | 1135 | + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
3853 | 1136 | + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR | ||
3854 | 1137 | + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||
3855 | 1138 | + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, | ||
3856 | 1139 | + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | ||
3857 | 1140 | + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED | ||
3858 | 1141 | + * OF THE POSSIBILITY OF SUCH DAMAGE. | ||
3859 | 1142 | + */ | ||
3860 | 1143 | + | ||
3861 | 1144 | +#include "config.h" | ||
3862 | 1145 | + | ||
3863 | 1146 | +#include <stdlib.h> | ||
3864 | 1147 | +#include <stdio.h> | ||
3865 | 1148 | +#include <string.h> | ||
3866 | 1149 | +#include <unistd.h> | ||
3867 | 1150 | +#include <sys/types.h> | ||
3868 | 1151 | +#include <sys/resource.h> | ||
3869 | 1152 | +#include <syslog.h> | ||
3870 | 1153 | +#include <pwd.h> | ||
3871 | 1154 | +#include <shadow.h> | ||
3872 | 1155 | +#include <time.h> /* for time() */ | ||
3873 | 1156 | +#include <errno.h> | ||
3874 | 1157 | +#include <sys/wait.h> | ||
3875 | 1158 | + | ||
3876 | 1159 | +#include <security/_pam_macros.h> | ||
3877 | 1160 | + | ||
3878 | 1161 | +/* indicate that the following groups are defined */ | ||
3879 | 1162 | + | ||
3880 | 1163 | +#ifdef PAM_STATIC | ||
3881 | 1164 | +# include "pam_unix_static.h" | ||
3882 | 1165 | +#else | ||
3883 | 1166 | +# define PAM_SM_ACCOUNT | ||
3884 | 1167 | +#endif | ||
3885 | 1168 | + | ||
3886 | 1169 | +#include <security/pam_modules.h> | ||
3887 | 1170 | +#include <security/pam_ext.h> | ||
3888 | 1171 | +#include <security/pam_modutil.h> | ||
3889 | 1172 | + | ||
3890 | 1173 | +#include "support.h" | ||
3891 | 1174 | +#include "passverify.h" | ||
3892 | 1175 | + | ||
3893 | 1176 | +int _unix_run_verify_binary(pam_handle_t *pamh, unsigned int ctrl, | ||
3894 | 1177 | + const char *user, int *daysleft) | ||
3895 | 1178 | +{ | ||
3896 | 1179 | + int retval=0, child, fds[2]; | ||
3897 | 1180 | + struct sigaction newsa, oldsa; | ||
3898 | 1181 | + D(("running verify_binary")); | ||
3899 | 1182 | + | ||
3900 | 1183 | + /* create a pipe for the messages */ | ||
3901 | 1184 | + if (pipe(fds) != 0) { | ||
3902 | 1185 | + D(("could not make pipe")); | ||
3903 | 1186 | + pam_syslog(pamh, LOG_ERR, "Could not make pipe: %m"); | ||
3904 | 1187 | + return PAM_AUTH_ERR; | ||
3905 | 1188 | + } | ||
3906 | 1189 | + D(("called.")); | ||
3907 | 1190 | + | ||
3908 | 1191 | + if (off(UNIX_NOREAP, ctrl)) { | ||
3909 | 1192 | + /* | ||
3910 | 1193 | + * This code arranges that the demise of the child does not cause | ||
3911 | 1194 | + * the application to receive a signal it is not expecting - which | ||
3912 | 1195 | + * may kill the application or worse. | ||
3913 | 1196 | + * | ||
3914 | 1197 | + * The "noreap" module argument is provided so that the admin can | ||
3915 | 1198 | + * override this behavior. | ||
3916 | 1199 | + */ | ||
3917 | 1200 | + memset(&newsa, '\0', sizeof(newsa)); | ||
3918 | 1201 | + newsa.sa_handler = SIG_DFL; | ||
3919 | 1202 | + sigaction(SIGCHLD, &newsa, &oldsa); | ||
3920 | 1203 | + } | ||
3921 | 1204 | + | ||
3922 | 1205 | + /* fork */ | ||
3923 | 1206 | + child = fork(); | ||
3924 | 1207 | + if (child == 0) { | ||
3925 | 1208 | + int i=0; | ||
3926 | 1209 | + struct rlimit rlim; | ||
3927 | 1210 | + static char *envp[] = { NULL }; | ||
3928 | 1211 | + char *args[] = { NULL, NULL, NULL, NULL }; | ||
3929 | 1212 | + | ||
3930 | 1213 | + /* reopen stdout as pipe */ | ||
3931 | 1214 | + dup2(fds[1], STDOUT_FILENO); | ||
3932 | 1215 | + | ||
3933 | 1216 | + /* XXX - should really tidy up PAM here too */ | ||
3934 | 1217 | + | ||
3935 | 1218 | + if (getrlimit(RLIMIT_NOFILE,&rlim)==0) { | ||
3936 | 1219 | + if (rlim.rlim_max >= MAX_FD_NO) | ||
3937 | 1220 | + rlim.rlim_max = MAX_FD_NO; | ||
3938 | 1221 | + for (i=0; i < (int)rlim.rlim_max; i++) { | ||
3939 | 1222 | + if (i != STDOUT_FILENO) { | ||
3940 | 1223 | + close(i); | ||
3941 | 1224 | + } | ||
3942 | 1225 | + } | ||
3943 | 1226 | + } | ||
3944 | 1227 | + | ||
3945 | 1228 | + if (geteuid() == 0) { | ||
3946 | 1229 | + /* must set the real uid to 0 so the helper will not error | ||
3947 | 1230 | + out if pam is called from setuid binary (su, sudo...) */ | ||
3948 | 1231 | + if (setuid(0) == -1) { | ||
3949 | 1232 | + pam_syslog(pamh, LOG_ERR, "setuid failed: %m"); | ||
3950 | 1233 | + printf("-1\n"); | ||
3951 | 1234 | + fflush(stdout); | ||
3952 | 1235 | + _exit(PAM_AUTHINFO_UNAVAIL); | ||
3953 | 1236 | + } | ||
3954 | 1237 | + } | ||
3955 | 1238 | + | ||
3956 | 1239 | + /* exec binary helper */ | ||
3957 | 1240 | + args[0] = x_strdup(CHKPWD_HELPER); | ||
3958 | 1241 | + args[1] = x_strdup(user); | ||
3959 | 1242 | + args[2] = x_strdup("chkexpiry"); | ||
3960 | 1243 | + | ||
3961 | 1244 | + execve(CHKPWD_HELPER, args, envp); | ||
3962 | 1245 | + | ||
3963 | 1246 | + pam_syslog(pamh, LOG_ERR, "helper binary execve failed: %m"); | ||
3964 | 1247 | + /* should not get here: exit with error */ | ||
3965 | 1248 | + D(("helper binary is not available")); | ||
3966 | 1249 | + printf("-1\n"); | ||
3967 | 1250 | + fflush(stdout); | ||
3968 | 1251 | + _exit(PAM_AUTHINFO_UNAVAIL); | ||
3969 | 1252 | + } else { | ||
3970 | 1253 | + close(fds[1]); | ||
3971 | 1254 | + if (child > 0) { | ||
3972 | 1255 | + char buf[32]; | ||
3973 | 1256 | + int rc=0; | ||
3974 | 1257 | + /* wait for helper to complete: */ | ||
3975 | 1258 | + while ((rc=waitpid(child, &retval, 0)) < 0 && errno == EINTR); | ||
3976 | 1259 | + if (rc<0) { | ||
3977 | 1260 | + pam_syslog(pamh, LOG_ERR, "pam_extrausers_chkpwd waitpid returned %d: %m", rc); | ||
3978 | 1261 | + retval = PAM_AUTH_ERR; | ||
3979 | 1262 | + } else if (!WIFEXITED(retval)) { | ||
3980 | 1263 | + pam_syslog(pamh, LOG_ERR, "pam_extrausers_chkpwd abnormal exit: %d", retval); | ||
3981 | 1264 | + retval = PAM_AUTH_ERR; | ||
3982 | 1265 | + } else { | ||
3983 | 1266 | + retval = WEXITSTATUS(retval); | ||
3984 | 1267 | + rc = pam_modutil_read(fds[0], buf, sizeof(buf) - 1); | ||
3985 | 1268 | + if(rc > 0) { | ||
3986 | 1269 | + buf[rc] = '\0'; | ||
3987 | 1270 | + if (sscanf(buf,"%d", daysleft) != 1 ) | ||
3988 | 1271 | + retval = PAM_AUTH_ERR; | ||
3989 | 1272 | + } | ||
3990 | 1273 | + else { | ||
3991 | 1274 | + pam_syslog(pamh, LOG_ERR, "read pam_extrausers_chkpwd output error %d: %m", rc); | ||
3992 | 1275 | + retval = PAM_AUTH_ERR; | ||
3993 | 1276 | + } | ||
3994 | 1277 | + } | ||
3995 | 1278 | + } else { | ||
3996 | 1279 | + pam_syslog(pamh, LOG_ERR, "Fork failed: %m"); | ||
3997 | 1280 | + D(("fork failed")); | ||
3998 | 1281 | + retval = PAM_AUTH_ERR; | ||
3999 | 1282 | + } | ||
4000 | 1283 | + close(fds[0]); | ||
4001 | 1284 | + } | ||
4002 | 1285 | + | ||
4003 | 1286 | + if (off(UNIX_NOREAP, ctrl)) { | ||
4004 | 1287 | + sigaction(SIGCHLD, &oldsa, NULL); /* restore old signal handler */ | ||
4005 | 1288 | + } | ||
4006 | 1289 | + | ||
4007 | 1290 | + D(("Returning %d",retval)); | ||
4008 | 1291 | + return retval; | ||
4009 | 1292 | +} | ||
4010 | 1293 | + | ||
4011 | 1294 | +/* | ||
4012 | 1295 | + * PAM framework looks for this entry-point to pass control to the | ||
4013 | 1296 | + * account management module. | ||
4014 | 1297 | + */ | ||
4015 | 1298 | + | ||
4016 | 1299 | +int | ||
4017 | 1300 | +pam_sm_acct_mgmt(pam_handle_t *pamh, int flags, int argc, const char **argv) | ||
4018 | 1301 | +{ | ||
4019 | 1302 | + unsigned int ctrl; | ||
4020 | 1303 | + const void *void_uname; | ||
4021 | 1304 | + const char *uname; | ||
4022 | 1305 | + int retval, daysleft; | ||
4023 | 1306 | + struct spwd *spent; | ||
4024 | 1307 | + struct passwd *pwent; | ||
4025 | 1308 | + char buf[256]; | ||
4026 | 1309 | + | ||
4027 | 1310 | + D(("called.")); | ||
4028 | 1311 | + | ||
4029 | 1312 | + ctrl = _set_ctrl(pamh, flags, NULL, NULL, NULL, argc, argv); | ||
4030 | 1313 | + | ||
4031 | 1314 | + retval = pam_get_item(pamh, PAM_USER, &void_uname); | ||
4032 | 1315 | + uname = void_uname; | ||
4033 | 1316 | + D(("user = `%s'", uname)); | ||
4034 | 1317 | + if (retval != PAM_SUCCESS || uname == NULL) { | ||
4035 | 1318 | + pam_syslog(pamh, LOG_ALERT, | ||
4036 | 1319 | + "could not identify user (from uid=%lu)", | ||
4037 | 1320 | + (unsigned long int)getuid()); | ||
4038 | 1321 | + return PAM_USER_UNKNOWN; | ||
4039 | 1322 | + } | ||
4040 | 1323 | + | ||
4041 | 1324 | + retval = get_account_info(pamh, uname, &pwent, &spent); | ||
4042 | 1325 | + if (retval == PAM_USER_UNKNOWN) { | ||
4043 | 1326 | + pam_syslog(pamh, LOG_ALERT, | ||
4044 | 1327 | + "could not identify user (from getpwnam(%s))", | ||
4045 | 1328 | + uname); | ||
4046 | 1329 | + return retval; | ||
4047 | 1330 | + } | ||
4048 | 1331 | + | ||
4049 | 1332 | + if (retval == PAM_SUCCESS && spent == NULL) | ||
4050 | 1333 | + return PAM_SUCCESS; | ||
4051 | 1334 | + | ||
4052 | 1335 | + if (retval == PAM_UNIX_RUN_HELPER) { | ||
4053 | 1336 | + retval = _unix_run_verify_binary(pamh, ctrl, uname, &daysleft); | ||
4054 | 1337 | + if (retval == PAM_AUTHINFO_UNAVAIL && | ||
4055 | 1338 | + on(UNIX_BROKEN_SHADOW, ctrl)) | ||
4056 | 1339 | + return PAM_SUCCESS; | ||
4057 | 1340 | + } else if (retval != PAM_SUCCESS) { | ||
4058 | 1341 | + if (on(UNIX_BROKEN_SHADOW,ctrl)) | ||
4059 | 1342 | + return PAM_SUCCESS; | ||
4060 | 1343 | + else | ||
4061 | 1344 | + return retval; | ||
4062 | 1345 | + } else | ||
4063 | 1346 | + retval = check_shadow_expiry(pamh, spent, &daysleft); | ||
4064 | 1347 | + | ||
4065 | 1348 | + switch (retval) { | ||
4066 | 1349 | + case PAM_ACCT_EXPIRED: | ||
4067 | 1350 | + pam_syslog(pamh, LOG_NOTICE, | ||
4068 | 1351 | + "account %s has expired (account expired)", | ||
4069 | 1352 | + uname); | ||
4070 | 1353 | + _make_remark(pamh, ctrl, PAM_ERROR_MSG, | ||
4071 | 1354 | + _("Your account has expired; please contact your system administrator")); | ||
4072 | 1355 | + break; | ||
4073 | 1356 | + case PAM_NEW_AUTHTOK_REQD: | ||
4074 | 1357 | + if (daysleft == 0) { | ||
4075 | 1358 | + pam_syslog(pamh, LOG_NOTICE, | ||
4076 | 1359 | + "expired password for user %s (root enforced)", | ||
4077 | 1360 | + uname); | ||
4078 | 1361 | + _make_remark(pamh, ctrl, PAM_ERROR_MSG, | ||
4079 | 1362 | + _("You are required to change your password immediately (root enforced)")); | ||
4080 | 1363 | + } else { | ||
4081 | 1364 | + pam_syslog(pamh, LOG_DEBUG, | ||
4082 | 1365 | + "expired password for user %s (password aged)", | ||
4083 | 1366 | + uname); | ||
4084 | 1367 | + _make_remark(pamh, ctrl, PAM_ERROR_MSG, | ||
4085 | 1368 | + _("You are required to change your password immediately (password aged)")); | ||
4086 | 1369 | + } | ||
4087 | 1370 | + break; | ||
4088 | 1371 | + case PAM_AUTHTOK_EXPIRED: | ||
4089 | 1372 | + pam_syslog(pamh, LOG_NOTICE, | ||
4090 | 1373 | + "account %s has expired (failed to change password)", | ||
4091 | 1374 | + uname); | ||
4092 | 1375 | + _make_remark(pamh, ctrl, PAM_ERROR_MSG, | ||
4093 | 1376 | + _("Your account has expired; please contact your system administrator")); | ||
4094 | 1377 | + break; | ||
4095 | 1378 | + case PAM_AUTHTOK_ERR: | ||
4096 | 1379 | + retval = PAM_SUCCESS; | ||
4097 | 1380 | + /* fallthrough */ | ||
4098 | 1381 | + case PAM_SUCCESS: | ||
4099 | 1382 | + if (daysleft >= 0) { | ||
4100 | 1383 | + pam_syslog(pamh, LOG_DEBUG, | ||
4101 | 1384 | + "password for user %s will expire in %d days", | ||
4102 | 1385 | + uname, daysleft); | ||
4103 | 1386 | +#if defined HAVE_DNGETTEXT && defined ENABLE_NLS | ||
4104 | 1387 | + snprintf (buf, sizeof (buf), | ||
4105 | 1388 | + dngettext(PACKAGE, | ||
4106 | 1389 | + "Warning: your password will expire in %d day", | ||
4107 | 1390 | + "Warning: your password will expire in %d days", | ||
4108 | 1391 | + daysleft), | ||
4109 | 1392 | + daysleft); | ||
4110 | 1393 | +#else | ||
4111 | 1394 | + if (daysleft == 1) | ||
4112 | 1395 | + snprintf(buf, sizeof (buf), | ||
4113 | 1396 | + _("Warning: your password will expire in %d day"), | ||
4114 | 1397 | + daysleft); | ||
4115 | 1398 | + else | ||
4116 | 1399 | + snprintf(buf, sizeof (buf), | ||
4117 | 1400 | + /* TRANSLATORS: only used if dngettext is not supported */ | ||
4118 | 1401 | + _("Warning: your password will expire in %d days"), | ||
4119 | 1402 | + daysleft); | ||
4120 | 1403 | +#endif | ||
4121 | 1404 | + _make_remark(pamh, ctrl, PAM_TEXT_INFO, buf); | ||
4122 | 1405 | + } | ||
4123 | 1406 | + } | ||
4124 | 1407 | + | ||
4125 | 1408 | + D(("all done")); | ||
4126 | 1409 | + | ||
4127 | 1410 | + return retval; | ||
4128 | 1411 | +} | ||
4129 | 1412 | Index: pam-1.1.8/modules/pam_extrausers/pam_unix_auth.c | ||
4130 | 1413 | =================================================================== | ||
4131 | 1414 | --- /dev/null | ||
4132 | 1415 | +++ pam-1.1.8/modules/pam_extrausers/pam_unix_auth.c | ||
4133 | 1416 | @@ -0,0 +1,218 @@ | ||
4134 | 1417 | +/* | ||
4135 | 1418 | + * Copyright Alexander O. Yuriev, 1996. All rights reserved. | ||
4136 | 1419 | + * NIS+ support by Thorsten Kukuk <kukuk@weber.uni-paderborn.de> | ||
4137 | 1420 | + * Copyright Jan R\EAkorajski, 1999. All rights reserved. | ||
4138 | 1421 | + * | ||
4139 | 1422 | + * Redistribution and use in source and binary forms, with or without | ||
4140 | 1423 | + * modification, are permitted provided that the following conditions | ||
4141 | 1424 | + * are met: | ||
4142 | 1425 | + * 1. Redistributions of source code must retain the above copyright | ||
4143 | 1426 | + * notice, and the entire permission notice in its entirety, | ||
4144 | 1427 | + * including the disclaimer of warranties. | ||
4145 | 1428 | + * 2. Redistributions in binary form must reproduce the above copyright | ||
4146 | 1429 | + * notice, this list of conditions and the following disclaimer in the | ||
4147 | 1430 | + * documentation and/or other materials provided with the distribution. | ||
4148 | 1431 | + * 3. The name of the author may not be used to endorse or promote | ||
4149 | 1432 | + * products derived from this software without specific prior | ||
4150 | 1433 | + * written permission. | ||
4151 | 1434 | + * | ||
4152 | 1435 | + * ALTERNATIVELY, this product may be distributed under the terms of | ||
4153 | 1436 | + * the GNU Public License, in which case the provisions of the GPL are | ||
4154 | 1437 | + * required INSTEAD OF the above restrictions. (This clause is | ||
4155 | 1438 | + * necessary due to a potential bad interaction between the GPL and | ||
4156 | 1439 | + * the restrictions contained in a BSD-style copyright.) | ||
4157 | 1440 | + * | ||
4158 | 1441 | + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED | ||
4159 | 1442 | + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES | ||
4160 | 1443 | + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
4161 | 1444 | + * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, | ||
4162 | 1445 | + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
4163 | 1446 | + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR | ||
4164 | 1447 | + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||
4165 | 1448 | + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, | ||
4166 | 1449 | + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | ||
4167 | 1450 | + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED | ||
4168 | 1451 | + * OF THE POSSIBILITY OF SUCH DAMAGE. | ||
4169 | 1452 | + */ | ||
4170 | 1453 | + | ||
4171 | 1454 | +#include "config.h" | ||
4172 | 1455 | + | ||
4173 | 1456 | +#include <stdio.h> | ||
4174 | 1457 | +#include <stdlib.h> | ||
4175 | 1458 | +#include <stdarg.h> | ||
4176 | 1459 | +#include <string.h> | ||
4177 | 1460 | +#include <unistd.h> | ||
4178 | 1461 | +#include <fcntl.h> | ||
4179 | 1462 | +#include <ctype.h> | ||
4180 | 1463 | +#include <sys/types.h> | ||
4181 | 1464 | +#include <sys/stat.h> | ||
4182 | 1465 | +#include <syslog.h> | ||
4183 | 1466 | + | ||
4184 | 1467 | +/* indicate the following groups are defined */ | ||
4185 | 1468 | + | ||
4186 | 1469 | +#ifdef PAM_STATIC | ||
4187 | 1470 | +# include "pam_unix_static.h" | ||
4188 | 1471 | +#else | ||
4189 | 1472 | +# define PAM_SM_AUTH | ||
4190 | 1473 | +#endif | ||
4191 | 1474 | + | ||
4192 | 1475 | +#define _PAM_EXTERN_FUNCTIONS | ||
4193 | 1476 | +#include <security/_pam_macros.h> | ||
4194 | 1477 | +#include <security/pam_modules.h> | ||
4195 | 1478 | +#include <security/pam_ext.h> | ||
4196 | 1479 | + | ||
4197 | 1480 | +#include "support.h" | ||
4198 | 1481 | + | ||
4199 | 1482 | +/* | ||
4200 | 1483 | + * PAM framework looks for these entry-points to pass control to the | ||
4201 | 1484 | + * authentication module. | ||
4202 | 1485 | + */ | ||
4203 | 1486 | + | ||
4204 | 1487 | +/* Fun starts here :) | ||
4205 | 1488 | + | ||
4206 | 1489 | + * pam_sm_authenticate() performs UNIX/shadow authentication | ||
4207 | 1490 | + * | ||
4208 | 1491 | + * First, if shadow support is available, attempt to perform | ||
4209 | 1492 | + * authentication using shadow passwords. If shadow is not | ||
4210 | 1493 | + * available, or user does not have a shadow password, fallback | ||
4211 | 1494 | + * onto a normal UNIX authentication | ||
4212 | 1495 | + */ | ||
4213 | 1496 | + | ||
4214 | 1497 | +#define _UNIX_AUTHTOK "-UN*X-PASS" | ||
4215 | 1498 | + | ||
4216 | 1499 | +#define AUTH_RETURN \ | ||
4217 | 1500 | +do { \ | ||
4218 | 1501 | + if (on(UNIX_LIKE_AUTH, ctrl) && ret_data) { \ | ||
4219 | 1502 | + D(("recording return code for next time [%d]", \ | ||
4220 | 1503 | + retval)); \ | ||
4221 | 1504 | + *ret_data = retval; \ | ||
4222 | 1505 | + pam_set_data(pamh, "unix_setcred_return", \ | ||
4223 | 1506 | + (void *) ret_data, setcred_free); \ | ||
4224 | 1507 | + } else if (ret_data) \ | ||
4225 | 1508 | + free (ret_data); \ | ||
4226 | 1509 | + D(("done. [%s]", pam_strerror(pamh, retval))); \ | ||
4227 | 1510 | + return retval; \ | ||
4228 | 1511 | +} while (0) | ||
4229 | 1512 | + | ||
4230 | 1513 | + | ||
4231 | 1514 | +static void | ||
4232 | 1515 | +setcred_free (pam_handle_t *pamh UNUSED, void *ptr, int err UNUSED) | ||
4233 | 1516 | +{ | ||
4234 | 1517 | + if (ptr) | ||
4235 | 1518 | + free (ptr); | ||
4236 | 1519 | +} | ||
4237 | 1520 | + | ||
4238 | 1521 | +int | ||
4239 | 1522 | +pam_sm_authenticate(pam_handle_t *pamh, int flags, int argc, const char **argv) | ||
4240 | 1523 | +{ | ||
4241 | 1524 | + unsigned int ctrl; | ||
4242 | 1525 | + int retval, *ret_data = NULL; | ||
4243 | 1526 | + const char *name; | ||
4244 | 1527 | + const void *p; | ||
4245 | 1528 | + | ||
4246 | 1529 | + D(("called.")); | ||
4247 | 1530 | + | ||
4248 | 1531 | + ctrl = _set_ctrl(pamh, flags, NULL, NULL, NULL, argc, argv); | ||
4249 | 1532 | + | ||
4250 | 1533 | + /* Get a few bytes so we can pass our return value to | ||
4251 | 1534 | + pam_sm_setcred(). */ | ||
4252 | 1535 | + if (on(UNIX_LIKE_AUTH, ctrl)) | ||
4253 | 1536 | + ret_data = malloc(sizeof(int)); | ||
4254 | 1537 | + | ||
4255 | 1538 | + /* get the user'name' */ | ||
4256 | 1539 | + | ||
4257 | 1540 | + retval = pam_get_user(pamh, &name, NULL); | ||
4258 | 1541 | + if (retval == PAM_SUCCESS) { | ||
4259 | 1542 | + /* | ||
4260 | 1543 | + * Various libraries at various times have had bugs related to | ||
4261 | 1544 | + * '+' or '-' as the first character of a user name. Don't | ||
4262 | 1545 | + * allow this characters here. | ||
4263 | 1546 | + */ | ||
4264 | 1547 | + if (name == NULL || name[0] == '-' || name[0] == '+') { | ||
4265 | 1548 | + pam_syslog(pamh, LOG_ERR, "bad username [%s]", name); | ||
4266 | 1549 | + retval = PAM_USER_UNKNOWN; | ||
4267 | 1550 | + AUTH_RETURN; | ||
4268 | 1551 | + } | ||
4269 | 1552 | + if (on(UNIX_DEBUG, ctrl)) | ||
4270 | 1553 | + D(("username [%s] obtained", name)); | ||
4271 | 1554 | + } else { | ||
4272 | 1555 | + D(("trouble reading username")); | ||
4273 | 1556 | + if (retval == PAM_CONV_AGAIN) { | ||
4274 | 1557 | + D(("pam_get_user/conv() function is not ready yet")); | ||
4275 | 1558 | + /* it is safe to resume this function so we translate this | ||
4276 | 1559 | + * retval to the value that indicates we're happy to resume. | ||
4277 | 1560 | + */ | ||
4278 | 1561 | + retval = PAM_INCOMPLETE; | ||
4279 | 1562 | + } | ||
4280 | 1563 | + AUTH_RETURN; | ||
4281 | 1564 | + } | ||
4282 | 1565 | + | ||
4283 | 1566 | + /* if this user does not have a password... */ | ||
4284 | 1567 | + | ||
4285 | 1568 | + if (_unix_blankpasswd(pamh, ctrl, name)) { | ||
4286 | 1569 | + D(("user '%s' has blank passwd", name)); | ||
4287 | 1570 | + name = NULL; | ||
4288 | 1571 | + retval = PAM_SUCCESS; | ||
4289 | 1572 | + AUTH_RETURN; | ||
4290 | 1573 | + } | ||
4291 | 1574 | + /* get this user's authentication token */ | ||
4292 | 1575 | + | ||
4293 | 1576 | + retval = _unix_read_password(pamh, ctrl, NULL, _("Password: "), NULL | ||
4294 | 1577 | + ,_UNIX_AUTHTOK, &p); | ||
4295 | 1578 | + if (retval != PAM_SUCCESS) { | ||
4296 | 1579 | + if (retval != PAM_CONV_AGAIN) { | ||
4297 | 1580 | + pam_syslog(pamh, LOG_CRIT, | ||
4298 | 1581 | + "auth could not identify password for [%s]", name); | ||
4299 | 1582 | + } else { | ||
4300 | 1583 | + D(("conversation function is not ready yet")); | ||
4301 | 1584 | + /* | ||
4302 | 1585 | + * it is safe to resume this function so we translate this | ||
4303 | 1586 | + * retval to the value that indicates we're happy to resume. | ||
4304 | 1587 | + */ | ||
4305 | 1588 | + retval = PAM_INCOMPLETE; | ||
4306 | 1589 | + } | ||
4307 | 1590 | + name = NULL; | ||
4308 | 1591 | + AUTH_RETURN; | ||
4309 | 1592 | + } | ||
4310 | 1593 | + D(("user=%s, password=[%s]", name, p)); | ||
4311 | 1594 | + | ||
4312 | 1595 | + /* verify the password of this user */ | ||
4313 | 1596 | + retval = _unix_verify_password(pamh, name, p, ctrl); | ||
4314 | 1597 | + name = p = NULL; | ||
4315 | 1598 | + | ||
4316 | 1599 | + AUTH_RETURN; | ||
4317 | 1600 | +} | ||
4318 | 1601 | + | ||
4319 | 1602 | + | ||
4320 | 1603 | +/* | ||
4321 | 1604 | + * The only thing _pam_set_credentials_unix() does is initialization of | ||
4322 | 1605 | + * UNIX group IDs. | ||
4323 | 1606 | + * | ||
4324 | 1607 | + * Well, everybody but me on linux-pam is convinced that it should not | ||
4325 | 1608 | + * initialize group IDs, so I am not doing it but don't say that I haven't | ||
4326 | 1609 | + * warned you. -- AOY | ||
4327 | 1610 | + */ | ||
4328 | 1611 | + | ||
4329 | 1612 | +int | ||
4330 | 1613 | +pam_sm_setcred (pam_handle_t *pamh, int flags UNUSED, | ||
4331 | 1614 | + int argc UNUSED, const char **argv UNUSED) | ||
4332 | 1615 | +{ | ||
4333 | 1616 | + int retval; | ||
4334 | 1617 | + const void *pretval = NULL; | ||
4335 | 1618 | + | ||
4336 | 1619 | + D(("called.")); | ||
4337 | 1620 | + | ||
4338 | 1621 | + retval = PAM_SUCCESS; | ||
4339 | 1622 | + | ||
4340 | 1623 | + D(("recovering return code from auth call")); | ||
4341 | 1624 | + /* We will only find something here if UNIX_LIKE_AUTH is set -- | ||
4342 | 1625 | + don't worry about an explicit check of argv. */ | ||
4343 | 1626 | + if (pam_get_data(pamh, "unix_setcred_return", &pretval) == PAM_SUCCESS | ||
4344 | 1627 | + && pretval) { | ||
4345 | 1628 | + retval = *(const int *)pretval; | ||
4346 | 1629 | + pam_set_data(pamh, "unix_setcred_return", NULL, NULL); | ||
4347 | 1630 | + D(("recovered data indicates that old retval was %d", retval)); | ||
4348 | 1631 | + } | ||
4349 | 1632 | + | ||
4350 | 1633 | + return retval; | ||
4351 | 1634 | +} | ||
4352 | 1635 | Index: pam-1.1.8/modules/pam_extrausers/pam_unix_passwd.c | ||
4353 | 1636 | =================================================================== | ||
4354 | 1637 | --- /dev/null | ||
4355 | 1638 | +++ pam-1.1.8/modules/pam_extrausers/pam_unix_passwd.c | ||
4356 | 1639 | @@ -0,0 +1,843 @@ | ||
4357 | 1640 | +/* | ||
4358 | 1641 | + * Main coding by Elliot Lee <sopwith@redhat.com>, Red Hat Software. | ||
4359 | 1642 | + * Copyright (C) 1996. | ||
4360 | 1643 | + * Copyright (c) Jan Rêkorajski, 1999. | ||
4361 | 1644 | + * Copyright (c) Red Hat, Inc., 2007, 2008. | ||
4362 | 1645 | + * | ||
4363 | 1646 | + * Redistribution and use in source and binary forms, with or without | ||
4364 | 1647 | + * modification, are permitted provided that the following conditions | ||
4365 | 1648 | + * are met: | ||
4366 | 1649 | + * 1. Redistributions of source code must retain the above copyright | ||
4367 | 1650 | + * notice, and the entire permission notice in its entirety, | ||
4368 | 1651 | + * including the disclaimer of warranties. | ||
4369 | 1652 | + * 2. Redistributions in binary form must reproduce the above copyright | ||
4370 | 1653 | + * notice, this list of conditions and the following disclaimer in the | ||
4371 | 1654 | + * documentation and/or other materials provided with the distribution. | ||
4372 | 1655 | + * 3. The name of the author may not be used to endorse or promote | ||
4373 | 1656 | + * products derived from this software without specific prior | ||
4374 | 1657 | + * written permission. | ||
4375 | 1658 | + * | ||
4376 | 1659 | + * ALTERNATIVELY, this product may be distributed under the terms of | ||
4377 | 1660 | + * the GNU Public License, in which case the provisions of the GPL are | ||
4378 | 1661 | + * required INSTEAD OF the above restrictions. (This clause is | ||
4379 | 1662 | + * necessary due to a potential bad interaction between the GPL and | ||
4380 | 1663 | + * the restrictions contained in a BSD-style copyright.) | ||
4381 | 1664 | + * | ||
4382 | 1665 | + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED | ||
4383 | 1666 | + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES | ||
4384 | 1667 | + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
4385 | 1668 | + * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, | ||
4386 | 1669 | + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
4387 | 1670 | + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR | ||
4388 | 1671 | + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||
4389 | 1672 | + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, | ||
4390 | 1673 | + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | ||
4391 | 1674 | + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED | ||
4392 | 1675 | + * OF THE POSSIBILITY OF SUCH DAMAGE. | ||
4393 | 1676 | + */ | ||
4394 | 1677 | + | ||
4395 | 1678 | +#include "config.h" | ||
4396 | 1679 | + | ||
4397 | 1680 | +#include <stdio.h> | ||
4398 | 1681 | +#include <stdlib.h> | ||
4399 | 1682 | +#include <stdarg.h> | ||
4400 | 1683 | +#include <string.h> | ||
4401 | 1684 | +#include <malloc.h> | ||
4402 | 1685 | +#include <unistd.h> | ||
4403 | 1686 | +#include <errno.h> | ||
4404 | 1687 | +#include <sys/types.h> | ||
4405 | 1688 | +#include <pwd.h> | ||
4406 | 1689 | +#include <syslog.h> | ||
4407 | 1690 | +#include <shadow.h> | ||
4408 | 1691 | +#include <time.h> /* for time() */ | ||
4409 | 1692 | +#include <fcntl.h> | ||
4410 | 1693 | +#include <ctype.h> | ||
4411 | 1694 | +#include <sys/time.h> | ||
4412 | 1695 | +#include <sys/stat.h> | ||
4413 | 1696 | + | ||
4414 | 1697 | +#include <signal.h> | ||
4415 | 1698 | +#include <errno.h> | ||
4416 | 1699 | +#include <sys/wait.h> | ||
4417 | 1700 | +#include <sys/resource.h> | ||
4418 | 1701 | + | ||
4419 | 1702 | +#include <security/_pam_macros.h> | ||
4420 | 1703 | + | ||
4421 | 1704 | +/* indicate the following groups are defined */ | ||
4422 | 1705 | + | ||
4423 | 1706 | +#ifdef PAM_STATIC | ||
4424 | 1707 | +# include "pam_unix_static.h" | ||
4425 | 1708 | +#else | ||
4426 | 1709 | +# define PAM_SM_PASSWORD | ||
4427 | 1710 | +#endif | ||
4428 | 1711 | + | ||
4429 | 1712 | +#include <security/pam_modules.h> | ||
4430 | 1713 | +#include <security/pam_ext.h> | ||
4431 | 1714 | +#include <security/pam_modutil.h> | ||
4432 | 1715 | + | ||
4433 | 1716 | +#include "md5.h" | ||
4434 | 1717 | +#include "support.h" | ||
4435 | 1718 | +#include "passverify.h" | ||
4436 | 1719 | +#include "bigcrypt.h" | ||
4437 | 1720 | + | ||
4438 | 1721 | +#if (HAVE_YP_GET_DEFAULT_DOMAIN || HAVE_GETDOMAINNAME) && HAVE_YP_MASTER | ||
4439 | 1722 | +# define HAVE_NIS | ||
4440 | 1723 | +#endif | ||
4441 | 1724 | + | ||
4442 | 1725 | +#ifdef HAVE_NIS | ||
4443 | 1726 | +# include <rpc/rpc.h> | ||
4444 | 1727 | + | ||
4445 | 1728 | +# if HAVE_RPCSVC_YP_PROT_H | ||
4446 | 1729 | +# include <rpcsvc/yp_prot.h> | ||
4447 | 1730 | +# endif | ||
4448 | 1731 | + | ||
4449 | 1732 | +# if HAVE_RPCSVC_YPCLNT_H | ||
4450 | 1733 | +# include <rpcsvc/ypclnt.h> | ||
4451 | 1734 | +# endif | ||
4452 | 1735 | + | ||
4453 | 1736 | +# include "yppasswd.h" | ||
4454 | 1737 | + | ||
4455 | 1738 | +# if !HAVE_DECL_GETRPCPORT | ||
4456 | 1739 | +extern int getrpcport(const char *host, unsigned long prognum, | ||
4457 | 1740 | + unsigned long versnum, unsigned int proto); | ||
4458 | 1741 | +# endif /* GNU libc 2.1 */ | ||
4459 | 1742 | +#endif | ||
4460 | 1743 | + | ||
4461 | 1744 | +extern const char *obscure_msg(const char *, const char *, const struct passwd *, | ||
4462 | 1745 | + unsigned int); | ||
4463 | 1746 | + | ||
4464 | 1747 | +/* | ||
4465 | 1748 | + How it works: | ||
4466 | 1749 | + Gets in username (has to be done) from the calling program | ||
4467 | 1750 | + Does authentication of user (only if we are not running as root) | ||
4468 | 1751 | + Gets new password/checks for sanity | ||
4469 | 1752 | + Sets it. | ||
4470 | 1753 | + */ | ||
4471 | 1754 | + | ||
4472 | 1755 | +/* data tokens */ | ||
4473 | 1756 | + | ||
4474 | 1757 | +#define _UNIX_OLD_AUTHTOK "-UN*X-OLD-PASS" | ||
4475 | 1758 | +#define _UNIX_NEW_AUTHTOK "-UN*X-NEW-PASS" | ||
4476 | 1759 | + | ||
4477 | 1760 | +#define MAX_PASSWD_TRIES 3 | ||
4478 | 1761 | + | ||
4479 | 1762 | +#ifdef HAVE_NIS | ||
4480 | 1763 | +static char *getNISserver(pam_handle_t *pamh, unsigned int ctrl) | ||
4481 | 1764 | +{ | ||
4482 | 1765 | + char *master; | ||
4483 | 1766 | + char *domainname; | ||
4484 | 1767 | + int port, err; | ||
4485 | 1768 | + | ||
4486 | 1769 | +#ifdef HAVE_YP_GET_DEFAULT_DOMAIN | ||
4487 | 1770 | + if ((err = yp_get_default_domain(&domainname)) != 0) { | ||
4488 | 1771 | + pam_syslog(pamh, LOG_WARNING, "can't get local yp domain: %s", | ||
4489 | 1772 | + yperr_string(err)); | ||
4490 | 1773 | + return NULL; | ||
4491 | 1774 | + } | ||
4492 | 1775 | +#elif defined(HAVE_GETDOMAINNAME) | ||
4493 | 1776 | + char domainname_res[256]; | ||
4494 | 1777 | + | ||
4495 | 1778 | + if (getdomainname (domainname_res, sizeof (domainname_res)) == 0) | ||
4496 | 1779 | + { | ||
4497 | 1780 | + if (strcmp (domainname_res, "(none)") == 0) | ||
4498 | 1781 | + { | ||
4499 | 1782 | + /* If domainname is not set, some systems will return "(none)" */ | ||
4500 | 1783 | + domainname_res[0] = '\0'; | ||
4501 | 1784 | + } | ||
4502 | 1785 | + domainname = domainname_res; | ||
4503 | 1786 | + } | ||
4504 | 1787 | + else domainname = NULL; | ||
4505 | 1788 | +#endif | ||
4506 | 1789 | + | ||
4507 | 1790 | + if ((err = yp_master(domainname, "passwd.byname", &master)) != 0) { | ||
4508 | 1791 | + pam_syslog(pamh, LOG_WARNING, "can't find the master ypserver: %s", | ||
4509 | 1792 | + yperr_string(err)); | ||
4510 | 1793 | + return NULL; | ||
4511 | 1794 | + } | ||
4512 | 1795 | + port = getrpcport(master, YPPASSWDPROG, YPPASSWDPROC_UPDATE, IPPROTO_UDP); | ||
4513 | 1796 | + if (port == 0) { | ||
4514 | 1797 | + pam_syslog(pamh, LOG_WARNING, | ||
4515 | 1798 | + "yppasswdd not running on NIS master host"); | ||
4516 | 1799 | + return NULL; | ||
4517 | 1800 | + } | ||
4518 | 1801 | + if (port >= IPPORT_RESERVED) { | ||
4519 | 1802 | + pam_syslog(pamh, LOG_WARNING, | ||
4520 | 1803 | + "yppasswd daemon running on illegal port"); | ||
4521 | 1804 | + return NULL; | ||
4522 | 1805 | + } | ||
4523 | 1806 | + if (on(UNIX_DEBUG, ctrl)) { | ||
4524 | 1807 | + pam_syslog(pamh, LOG_DEBUG, "Use NIS server on %s with port %d", | ||
4525 | 1808 | + master, port); | ||
4526 | 1809 | + } | ||
4527 | 1810 | + return master; | ||
4528 | 1811 | +} | ||
4529 | 1812 | +#endif | ||
4530 | 1813 | + | ||
4531 | 1814 | +#ifdef WITH_SELINUX | ||
4532 | 1815 | + | ||
4533 | 1816 | +static int _unix_run_update_binary(pam_handle_t *pamh, unsigned int ctrl, const char *user, | ||
4534 | 1817 | + const char *fromwhat, const char *towhat, int remember) | ||
4535 | 1818 | +{ | ||
4536 | 1819 | + int retval, child, fds[2]; | ||
4537 | 1820 | + struct sigaction newsa, oldsa; | ||
4538 | 1821 | + | ||
4539 | 1822 | + D(("called.")); | ||
4540 | 1823 | + /* create a pipe for the password */ | ||
4541 | 1824 | + if (pipe(fds) != 0) { | ||
4542 | 1825 | + D(("could not make pipe")); | ||
4543 | 1826 | + return PAM_AUTH_ERR; | ||
4544 | 1827 | + } | ||
4545 | 1828 | + | ||
4546 | 1829 | + if (off(UNIX_NOREAP, ctrl)) { | ||
4547 | 1830 | + /* | ||
4548 | 1831 | + * This code arranges that the demise of the child does not cause | ||
4549 | 1832 | + * the application to receive a signal it is not expecting - which | ||
4550 | 1833 | + * may kill the application or worse. | ||
4551 | 1834 | + * | ||
4552 | 1835 | + * The "noreap" module argument is provided so that the admin can | ||
4553 | 1836 | + * override this behavior. | ||
4554 | 1837 | + */ | ||
4555 | 1838 | + memset(&newsa, '\0', sizeof(newsa)); | ||
4556 | 1839 | + newsa.sa_handler = SIG_DFL; | ||
4557 | 1840 | + sigaction(SIGCHLD, &newsa, &oldsa); | ||
4558 | 1841 | + } | ||
4559 | 1842 | + | ||
4560 | 1843 | + /* fork */ | ||
4561 | 1844 | + child = fork(); | ||
4562 | 1845 | + if (child == 0) { | ||
4563 | 1846 | + int i=0; | ||
4564 | 1847 | + struct rlimit rlim; | ||
4565 | 1848 | + static char *envp[] = { NULL }; | ||
4566 | 1849 | + char *args[] = { NULL, NULL, NULL, NULL, NULL, NULL }; | ||
4567 | 1850 | + char buffer[16]; | ||
4568 | 1851 | + | ||
4569 | 1852 | + /* XXX - should really tidy up PAM here too */ | ||
4570 | 1853 | + | ||
4571 | 1854 | + /* reopen stdin as pipe */ | ||
4572 | 1855 | + dup2(fds[0], STDIN_FILENO); | ||
4573 | 1856 | + | ||
4574 | 1857 | + if (getrlimit(RLIMIT_NOFILE,&rlim)==0) { | ||
4575 | 1858 | + if (rlim.rlim_max >= MAX_FD_NO) | ||
4576 | 1859 | + rlim.rlim_max = MAX_FD_NO; | ||
4577 | 1860 | + for (i=0; i < (int)rlim.rlim_max; i++) { | ||
4578 | 1861 | + if (i != STDIN_FILENO) | ||
4579 | 1862 | + close(i); | ||
4580 | 1863 | + } | ||
4581 | 1864 | + } | ||
4582 | 1865 | + | ||
4583 | 1866 | + /* exec binary helper */ | ||
4584 | 1867 | + args[0] = x_strdup(UPDATE_HELPER); | ||
4585 | 1868 | + args[1] = x_strdup(user); | ||
4586 | 1869 | + args[2] = x_strdup("update"); | ||
4587 | 1870 | + if (on(UNIX_SHADOW, ctrl)) | ||
4588 | 1871 | + args[3] = x_strdup("1"); | ||
4589 | 1872 | + else | ||
4590 | 1873 | + args[3] = x_strdup("0"); | ||
4591 | 1874 | + | ||
4592 | 1875 | + snprintf(buffer, sizeof(buffer), "%d", remember); | ||
4593 | 1876 | + args[4] = x_strdup(buffer); | ||
4594 | 1877 | + | ||
4595 | 1878 | + execve(UPDATE_HELPER, args, envp); | ||
4596 | 1879 | + | ||
4597 | 1880 | + /* should not get here: exit with error */ | ||
4598 | 1881 | + D(("helper binary is not available")); | ||
4599 | 1882 | + _exit(PAM_AUTHINFO_UNAVAIL); | ||
4600 | 1883 | + } else if (child > 0) { | ||
4601 | 1884 | + /* wait for child */ | ||
4602 | 1885 | + /* if the stored password is NULL */ | ||
4603 | 1886 | + int rc=0; | ||
4604 | 1887 | + if (fromwhat) | ||
4605 | 1888 | + pam_modutil_write(fds[1], fromwhat, strlen(fromwhat)+1); | ||
4606 | 1889 | + else | ||
4607 | 1890 | + pam_modutil_write(fds[1], "", 1); | ||
4608 | 1891 | + if (towhat) { | ||
4609 | 1892 | + pam_modutil_write(fds[1], towhat, strlen(towhat)+1); | ||
4610 | 1893 | + } | ||
4611 | 1894 | + else | ||
4612 | 1895 | + pam_modutil_write(fds[1], "", 1); | ||
4613 | 1896 | + | ||
4614 | 1897 | + close(fds[0]); /* close here to avoid possible SIGPIPE above */ | ||
4615 | 1898 | + close(fds[1]); | ||
4616 | 1899 | + /* wait for helper to complete: */ | ||
4617 | 1900 | + while ((rc=waitpid(child, &retval, 0)) < 0 && errno == EINTR); | ||
4618 | 1901 | + if (rc<0) { | ||
4619 | 1902 | + pam_syslog(pamh, LOG_ERR, "pam_extrausers_update waitpid failed: %m"); | ||
4620 | 1903 | + retval = PAM_AUTHTOK_ERR; | ||
4621 | 1904 | + } else if (!WIFEXITED(retval)) { | ||
4622 | 1905 | + pam_syslog(pamh, LOG_ERR, "pam_extrausers_update abnormal exit: %d", retval); | ||
4623 | 1906 | + retval = PAM_AUTHTOK_ERR; | ||
4624 | 1907 | + } else { | ||
4625 | 1908 | + retval = WEXITSTATUS(retval); | ||
4626 | 1909 | + } | ||
4627 | 1910 | + } else { | ||
4628 | 1911 | + D(("fork failed")); | ||
4629 | 1912 | + close(fds[0]); | ||
4630 | 1913 | + close(fds[1]); | ||
4631 | 1914 | + retval = PAM_AUTH_ERR; | ||
4632 | 1915 | + } | ||
4633 | 1916 | + | ||
4634 | 1917 | + if (off(UNIX_NOREAP, ctrl)) { | ||
4635 | 1918 | + sigaction(SIGCHLD, &oldsa, NULL); /* restore old signal handler */ | ||
4636 | 1919 | + } | ||
4637 | 1920 | + | ||
4638 | 1921 | + return retval; | ||
4639 | 1922 | +} | ||
4640 | 1923 | +#endif | ||
4641 | 1924 | + | ||
4642 | 1925 | +static int check_old_password(const char *forwho, const char *newpass) | ||
4643 | 1926 | +{ | ||
4644 | 1927 | + static char buf[16384]; | ||
4645 | 1928 | + char *s_luser, *s_uid, *s_npas, *s_pas; | ||
4646 | 1929 | + int retval = PAM_SUCCESS; | ||
4647 | 1930 | + FILE *opwfile; | ||
4648 | 1931 | + size_t len = strlen(forwho); | ||
4649 | 1932 | + | ||
4650 | 1933 | + opwfile = fopen(OLD_PASSWORDS_FILE, "r"); | ||
4651 | 1934 | + if (opwfile == NULL) | ||
4652 | 1935 | + return PAM_ABORT; | ||
4653 | 1936 | + | ||
4654 | 1937 | + while (fgets(buf, 16380, opwfile)) { | ||
4655 | 1938 | + if (!strncmp(buf, forwho, len) && (buf[len] == ':' || | ||
4656 | 1939 | + buf[len] == ',')) { | ||
4657 | 1940 | + char *sptr; | ||
4658 | 1941 | + buf[strlen(buf) - 1] = '\0'; | ||
4659 | 1942 | + s_luser = strtok_r(buf, ":,", &sptr); | ||
4660 | 1943 | + s_uid = strtok_r(NULL, ":,", &sptr); | ||
4661 | 1944 | + s_npas = strtok_r(NULL, ":,", &sptr); | ||
4662 | 1945 | + s_pas = strtok_r(NULL, ":,", &sptr); | ||
4663 | 1946 | + while (s_pas != NULL) { | ||
4664 | 1947 | + char *md5pass = Goodcrypt_md5(newpass, s_pas); | ||
4665 | 1948 | + if (!strcmp(md5pass, s_pas)) { | ||
4666 | 1949 | + _pam_delete(md5pass); | ||
4667 | 1950 | + retval = PAM_AUTHTOK_ERR; | ||
4668 | 1951 | + break; | ||
4669 | 1952 | + } | ||
4670 | 1953 | + s_pas = strtok_r(NULL, ":,", &sptr); | ||
4671 | 1954 | + _pam_delete(md5pass); | ||
4672 | 1955 | + } | ||
4673 | 1956 | + break; | ||
4674 | 1957 | + } | ||
4675 | 1958 | + } | ||
4676 | 1959 | + fclose(opwfile); | ||
4677 | 1960 | + | ||
4678 | 1961 | + return retval; | ||
4679 | 1962 | +} | ||
4680 | 1963 | + | ||
4681 | 1964 | +static int _do_setpass(pam_handle_t* pamh, const char *forwho, | ||
4682 | 1965 | + const char *fromwhat, | ||
4683 | 1966 | + char *towhat, unsigned int ctrl, int remember) | ||
4684 | 1967 | +{ | ||
4685 | 1968 | + struct passwd *pwd = NULL; | ||
4686 | 1969 | + int retval = 0; | ||
4687 | 1970 | + int unlocked = 0; | ||
4688 | 1971 | + char *master = NULL; | ||
4689 | 1972 | + | ||
4690 | 1973 | + D(("called")); | ||
4691 | 1974 | + | ||
4692 | 1975 | + pwd = getpwnam(forwho); | ||
4693 | 1976 | + | ||
4694 | 1977 | + if (pwd == NULL) { | ||
4695 | 1978 | + retval = PAM_AUTHTOK_ERR; | ||
4696 | 1979 | + goto done; | ||
4697 | 1980 | + } | ||
4698 | 1981 | + | ||
4699 | 1982 | + if (on(UNIX_NIS, ctrl) && _unix_comesfromsource(pamh, forwho, 0, 1)) { | ||
4700 | 1983 | +#ifdef HAVE_NIS | ||
4701 | 1984 | + if ((master=getNISserver(pamh, ctrl)) != NULL) { | ||
4702 | 1985 | + struct timeval timeout; | ||
4703 | 1986 | + struct yppasswd yppwd; | ||
4704 | 1987 | + CLIENT *clnt; | ||
4705 | 1988 | + int status; | ||
4706 | 1989 | + enum clnt_stat err; | ||
4707 | 1990 | + | ||
4708 | 1991 | + /* Unlock passwd file to avoid deadlock */ | ||
4709 | 1992 | + unlock_pwdf(); | ||
4710 | 1993 | + unlocked = 1; | ||
4711 | 1994 | + | ||
4712 | 1995 | + /* Initialize password information */ | ||
4713 | 1996 | + yppwd.newpw.pw_passwd = pwd->pw_passwd; | ||
4714 | 1997 | + yppwd.newpw.pw_name = pwd->pw_name; | ||
4715 | 1998 | + yppwd.newpw.pw_uid = pwd->pw_uid; | ||
4716 | 1999 | + yppwd.newpw.pw_gid = pwd->pw_gid; | ||
4717 | 2000 | + yppwd.newpw.pw_gecos = pwd->pw_gecos; | ||
4718 | 2001 | + yppwd.newpw.pw_dir = pwd->pw_dir; | ||
4719 | 2002 | + yppwd.newpw.pw_shell = pwd->pw_shell; | ||
4720 | 2003 | + yppwd.oldpass = fromwhat ? strdup (fromwhat) : strdup (""); | ||
4721 | 2004 | + yppwd.newpw.pw_passwd = towhat; | ||
4722 | 2005 | + | ||
4723 | 2006 | + D(("Set password %s for %s", yppwd.newpw.pw_passwd, forwho)); | ||
4724 | 2007 | + | ||
4725 | 2008 | + /* The yppasswd.x file said `unix authentication required', | ||
4726 | 2009 | + * so I added it. This is the only reason it is in here. | ||
4727 | 2010 | + * My yppasswdd doesn't use it, but maybe some others out there | ||
4728 | 2011 | + * do. --okir | ||
4729 | 2012 | + */ | ||
4730 | 2013 | + clnt = clnt_create(master, YPPASSWDPROG, YPPASSWDVERS, "udp"); | ||
4731 | 2014 | + clnt->cl_auth = authunix_create_default(); | ||
4732 | 2015 | + memset((char *) &status, '\0', sizeof(status)); | ||
4733 | 2016 | + timeout.tv_sec = 25; | ||
4734 | 2017 | + timeout.tv_usec = 0; | ||
4735 | 2018 | + err = clnt_call(clnt, YPPASSWDPROC_UPDATE, | ||
4736 | 2019 | + (xdrproc_t) xdr_yppasswd, (char *) &yppwd, | ||
4737 | 2020 | + (xdrproc_t) xdr_int, (char *) &status, | ||
4738 | 2021 | + timeout); | ||
4739 | 2022 | + | ||
4740 | 2023 | + free (yppwd.oldpass); | ||
4741 | 2024 | + | ||
4742 | 2025 | + if (err) { | ||
4743 | 2026 | + _make_remark(pamh, ctrl, PAM_TEXT_INFO, | ||
4744 | 2027 | + clnt_sperrno(err)); | ||
4745 | 2028 | + } else if (status) { | ||
4746 | 2029 | + D(("Error while changing NIS password.\n")); | ||
4747 | 2030 | + } | ||
4748 | 2031 | + D(("The password has%s been changed on %s.", | ||
4749 | 2032 | + (err || status) ? " not" : "", master)); | ||
4750 | 2033 | + pam_syslog(pamh, LOG_NOTICE, "password%s changed for %s on %s", | ||
4751 | 2034 | + (err || status) ? " not" : "", pwd->pw_name, master); | ||
4752 | 2035 | + | ||
4753 | 2036 | + auth_destroy(clnt->cl_auth); | ||
4754 | 2037 | + clnt_destroy(clnt); | ||
4755 | 2038 | + if (err || status) { | ||
4756 | 2039 | + _make_remark(pamh, ctrl, PAM_TEXT_INFO, | ||
4757 | 2040 | + _("NIS password could not be changed.")); | ||
4758 | 2041 | + retval = PAM_TRY_AGAIN; | ||
4759 | 2042 | + } | ||
4760 | 2043 | +#ifdef PAM_DEBUG | ||
4761 | 2044 | + sleep(5); | ||
4762 | 2045 | +#endif | ||
4763 | 2046 | + } else { | ||
4764 | 2047 | + retval = PAM_TRY_AGAIN; | ||
4765 | 2048 | + } | ||
4766 | 2049 | +#else | ||
4767 | 2050 | + if (on(UNIX_DEBUG, ctrl)) { | ||
4768 | 2051 | + pam_syslog(pamh, LOG_DEBUG, "No NIS support available"); | ||
4769 | 2052 | + } | ||
4770 | 2053 | + | ||
4771 | 2054 | + retval = PAM_TRY_AGAIN; | ||
4772 | 2055 | +#endif | ||
4773 | 2056 | + } | ||
4774 | 2057 | + | ||
4775 | 2058 | + if (_unix_comesfromsource(pamh, forwho, 1, 0)) { | ||
4776 | 2059 | + if(unlocked) { | ||
4777 | 2060 | + if (lock_pwdf() != PAM_SUCCESS) { | ||
4778 | 2061 | + return PAM_AUTHTOK_LOCK_BUSY; | ||
4779 | 2062 | + } | ||
4780 | 2063 | + } | ||
4781 | 2064 | +#ifdef WITH_SELINUX | ||
4782 | 2065 | + if (unix_selinux_confined()) | ||
4783 | 2066 | + return _unix_run_update_binary(pamh, ctrl, forwho, fromwhat, towhat, remember); | ||
4784 | 2067 | +#endif | ||
4785 | 2068 | + /* first, save old password */ | ||
4786 | 2069 | + if (save_old_password(pamh, forwho, fromwhat, remember)) { | ||
4787 | 2070 | + retval = PAM_AUTHTOK_ERR; | ||
4788 | 2071 | + goto done; | ||
4789 | 2072 | + } | ||
4790 | 2073 | + if (on(UNIX_SHADOW, ctrl) || is_pwd_shadowed(pwd)) { | ||
4791 | 2074 | + retval = unix_update_shadow(pamh, forwho, towhat); | ||
4792 | 2075 | + if (retval == PAM_SUCCESS) | ||
4793 | 2076 | + if (!is_pwd_shadowed(pwd)) | ||
4794 | 2077 | + retval = unix_update_passwd(pamh, forwho, "x"); | ||
4795 | 2078 | + } else { | ||
4796 | 2079 | + retval = unix_update_passwd(pamh, forwho, towhat); | ||
4797 | 2080 | + } | ||
4798 | 2081 | + } | ||
4799 | 2082 | + | ||
4800 | 2083 | + | ||
4801 | 2084 | +done: | ||
4802 | 2085 | + unlock_pwdf(); | ||
4803 | 2086 | + | ||
4804 | 2087 | + return retval; | ||
4805 | 2088 | +} | ||
4806 | 2089 | + | ||
4807 | 2090 | +static int _unix_verify_shadow(pam_handle_t *pamh, const char *user, unsigned int ctrl) | ||
4808 | 2091 | +{ | ||
4809 | 2092 | + struct passwd *pwent = NULL; /* Password and shadow password */ | ||
4810 | 2093 | + struct spwd *spent = NULL; /* file entries for the user */ | ||
4811 | 2094 | + int daysleft; | ||
4812 | 2095 | + int retval; | ||
4813 | 2096 | + | ||
4814 | 2097 | + retval = get_account_info(pamh, user, &pwent, &spent); | ||
4815 | 2098 | + if (retval == PAM_USER_UNKNOWN) { | ||
4816 | 2099 | + return retval; | ||
4817 | 2100 | + } | ||
4818 | 2101 | + | ||
4819 | 2102 | + if (retval == PAM_SUCCESS && spent == NULL) | ||
4820 | 2103 | + return PAM_SUCCESS; | ||
4821 | 2104 | + | ||
4822 | 2105 | + if (retval == PAM_UNIX_RUN_HELPER) { | ||
4823 | 2106 | + retval = _unix_run_verify_binary(pamh, ctrl, user, &daysleft); | ||
4824 | 2107 | + if (retval == PAM_AUTH_ERR || retval == PAM_USER_UNKNOWN) | ||
4825 | 2108 | + return retval; | ||
4826 | 2109 | + } | ||
4827 | 2110 | + else if (retval == PAM_SUCCESS) | ||
4828 | 2111 | + retval = check_shadow_expiry(pamh, spent, &daysleft); | ||
4829 | 2112 | + | ||
4830 | 2113 | + if (on(UNIX__IAMROOT, ctrl) || retval == PAM_NEW_AUTHTOK_REQD) | ||
4831 | 2114 | + return PAM_SUCCESS; | ||
4832 | 2115 | + | ||
4833 | 2116 | + return retval; | ||
4834 | 2117 | +} | ||
4835 | 2118 | + | ||
4836 | 2119 | +static int _pam_unix_approve_pass(pam_handle_t * pamh | ||
4837 | 2120 | + ,unsigned int ctrl | ||
4838 | 2121 | + ,const char *pass_old | ||
4839 | 2122 | + ,const char *pass_new, | ||
4840 | 2123 | + int pass_min_len) | ||
4841 | 2124 | +{ | ||
4842 | 2125 | + const void *user; | ||
4843 | 2126 | + const char *remark = NULL; | ||
4844 | 2127 | + int retval = PAM_SUCCESS; | ||
4845 | 2128 | + | ||
4846 | 2129 | + D(("&new=%p, &old=%p", pass_old, pass_new)); | ||
4847 | 2130 | + D(("new=[%s]", pass_new)); | ||
4848 | 2131 | + D(("old=[%s]", pass_old)); | ||
4849 | 2132 | + | ||
4850 | 2133 | + if (pass_new == NULL || (pass_old && !strcmp(pass_old, pass_new))) { | ||
4851 | 2134 | + if (on(UNIX_DEBUG, ctrl)) { | ||
4852 | 2135 | + pam_syslog(pamh, LOG_DEBUG, "bad authentication token"); | ||
4853 | 2136 | + } | ||
4854 | 2137 | + _make_remark(pamh, ctrl, PAM_ERROR_MSG, pass_new == NULL ? | ||
4855 | 2138 | + _("No password supplied") : _("Password unchanged")); | ||
4856 | 2139 | + return PAM_AUTHTOK_ERR; | ||
4857 | 2140 | + } | ||
4858 | 2141 | + /* | ||
4859 | 2142 | + * if one wanted to hardwire authentication token strength | ||
4860 | 2143 | + * checking this would be the place - AGM | ||
4861 | 2144 | + */ | ||
4862 | 2145 | + | ||
4863 | 2146 | + retval = pam_get_item(pamh, PAM_USER, &user); | ||
4864 | 2147 | + if (retval != PAM_SUCCESS) { | ||
4865 | 2148 | + if (on(UNIX_DEBUG, ctrl)) { | ||
4866 | 2149 | + pam_syslog(pamh, LOG_ERR, "Can not get username"); | ||
4867 | 2150 | + return PAM_AUTHTOK_ERR; | ||
4868 | 2151 | + } | ||
4869 | 2152 | + } | ||
4870 | 2153 | + if (off(UNIX__IAMROOT, ctrl)) { | ||
4871 | 2154 | + if (strlen(pass_new) < pass_min_len) | ||
4872 | 2155 | + remark = _("You must choose a longer password"); | ||
4873 | 2156 | + D(("length check [%s]", remark)); | ||
4874 | 2157 | + if (on(UNIX_REMEMBER_PASSWD, ctrl)) { | ||
4875 | 2158 | + if ((retval = check_old_password(user, pass_new)) == PAM_AUTHTOK_ERR) | ||
4876 | 2159 | + remark = _("Password has been already used. Choose another."); | ||
4877 | 2160 | + if (retval == PAM_ABORT) { | ||
4878 | 2161 | + pam_syslog(pamh, LOG_ERR, "can't open %s file to check old passwords", | ||
4879 | 2162 | + OLD_PASSWORDS_FILE); | ||
4880 | 2163 | + return retval; | ||
4881 | 2164 | + } | ||
4882 | 2165 | + } | ||
4883 | 2166 | + if (!remark && pass_old != NULL) { /* only check if we don't already have a failure */ | ||
4884 | 2167 | + struct passwd *pwd; | ||
4885 | 2168 | + pwd = pam_modutil_getpwnam(pamh, user); | ||
4886 | 2169 | + remark = (char *)obscure_msg(pass_old,pass_new,pwd,ctrl); /* do obscure checks */ | ||
4887 | 2170 | + } | ||
4888 | 2171 | + } | ||
4889 | 2172 | + if (remark) { | ||
4890 | 2173 | + _make_remark(pamh, ctrl, PAM_ERROR_MSG, remark); | ||
4891 | 2174 | + retval = PAM_AUTHTOK_ERR; | ||
4892 | 2175 | + } | ||
4893 | 2176 | + return retval; | ||
4894 | 2177 | +} | ||
4895 | 2178 | + | ||
4896 | 2179 | +int | ||
4897 | 2180 | +pam_sm_chauthtok(pam_handle_t *pamh, int flags, int argc, const char **argv) | ||
4898 | 2181 | +{ | ||
4899 | 2182 | + unsigned int ctrl, lctrl; | ||
4900 | 2183 | + int retval; | ||
4901 | 2184 | + int remember = -1; | ||
4902 | 2185 | + int rounds = -1; | ||
4903 | 2186 | + int pass_min_len = 6; | ||
4904 | 2187 | + | ||
4905 | 2188 | + /* <DO NOT free() THESE> */ | ||
4906 | 2189 | + const char *user; | ||
4907 | 2190 | + const void *pass_old, *pass_new; | ||
4908 | 2191 | + /* </DO NOT free() THESE> */ | ||
4909 | 2192 | + | ||
4910 | 2193 | + D(("called.")); | ||
4911 | 2194 | + | ||
4912 | 2195 | + ctrl = _set_ctrl(pamh, flags, &remember, &rounds, &pass_min_len, | ||
4913 | 2196 | + argc, argv); | ||
4914 | 2197 | + | ||
4915 | 2198 | + /* | ||
4916 | 2199 | + * First get the name of a user | ||
4917 | 2200 | + */ | ||
4918 | 2201 | + retval = pam_get_user(pamh, &user, NULL); | ||
4919 | 2202 | + if (retval == PAM_SUCCESS) { | ||
4920 | 2203 | + /* | ||
4921 | 2204 | + * Various libraries at various times have had bugs related to | ||
4922 | 2205 | + * '+' or '-' as the first character of a user name. Don't | ||
4923 | 2206 | + * allow them. | ||
4924 | 2207 | + */ | ||
4925 | 2208 | + if (user == NULL || user[0] == '-' || user[0] == '+') { | ||
4926 | 2209 | + pam_syslog(pamh, LOG_ERR, "bad username [%s]", user); | ||
4927 | 2210 | + return PAM_USER_UNKNOWN; | ||
4928 | 2211 | + } | ||
4929 | 2212 | + if (retval == PAM_SUCCESS && on(UNIX_DEBUG, ctrl)) | ||
4930 | 2213 | + pam_syslog(pamh, LOG_DEBUG, "username [%s] obtained", | ||
4931 | 2214 | + user); | ||
4932 | 2215 | + } else { | ||
4933 | 2216 | + if (on(UNIX_DEBUG, ctrl)) | ||
4934 | 2217 | + pam_syslog(pamh, LOG_DEBUG, | ||
4935 | 2218 | + "password - could not identify user"); | ||
4936 | 2219 | + return retval; | ||
4937 | 2220 | + } | ||
4938 | 2221 | + | ||
4939 | 2222 | + D(("Got username of %s", user)); | ||
4940 | 2223 | + | ||
4941 | 2224 | + /* | ||
4942 | 2225 | + * Before we do anything else, check to make sure that the user's | ||
4943 | 2226 | + * info is in one of the databases we can modify from this module, | ||
4944 | 2227 | + * which currently is 'files' and 'nis'. We have to do this because | ||
4945 | 2228 | + * getpwnam() doesn't tell you *where* the information it gives you | ||
4946 | 2229 | + * came from, nor should it. That's our job. | ||
4947 | 2230 | + */ | ||
4948 | 2231 | + if (_unix_comesfromsource(pamh, user, 1, on(UNIX_NIS, ctrl)) == 0) { | ||
4949 | 2232 | + pam_syslog(pamh, LOG_DEBUG, | ||
4950 | 2233 | + "user \"%s\" does not exist in /var/lib/extrausers/passwd%s", | ||
4951 | 2234 | + user, on(UNIX_NIS, ctrl) ? " or NIS" : ""); | ||
4952 | 2235 | + return PAM_USER_UNKNOWN; | ||
4953 | 2236 | + } else { | ||
4954 | 2237 | + struct passwd *pwd; | ||
4955 | 2238 | + _unix_getpwnam(pamh, user, 1, on(UNIX_NIS, ctrl), &pwd); | ||
4956 | 2239 | + if (pwd == NULL) { | ||
4957 | 2240 | + pam_syslog(pamh, LOG_DEBUG, | ||
4958 | 2241 | + "user \"%s\" has corrupted passwd entry", | ||
4959 | 2242 | + user); | ||
4960 | 2243 | + return PAM_USER_UNKNOWN; | ||
4961 | 2244 | + } | ||
4962 | 2245 | + } | ||
4963 | 2246 | + | ||
4964 | 2247 | + /* | ||
4965 | 2248 | + * This is not an AUTH module! | ||
4966 | 2249 | + */ | ||
4967 | 2250 | + if (on(UNIX__NONULL, ctrl)) | ||
4968 | 2251 | + set(UNIX__NULLOK, ctrl); | ||
4969 | 2252 | + | ||
4970 | 2253 | + if (on(UNIX__PRELIM, ctrl)) { | ||
4971 | 2254 | + /* | ||
4972 | 2255 | + * obtain and verify the current password (OLDAUTHTOK) for | ||
4973 | 2256 | + * the user. | ||
4974 | 2257 | + */ | ||
4975 | 2258 | + char *Announce; | ||
4976 | 2259 | + | ||
4977 | 2260 | + D(("prelim check")); | ||
4978 | 2261 | + | ||
4979 | 2262 | + if (_unix_blankpasswd(pamh, ctrl, user)) { | ||
4980 | 2263 | + return PAM_SUCCESS; | ||
4981 | 2264 | + } else if (off(UNIX__IAMROOT, ctrl) || on(UNIX_NIS, ctrl)) { | ||
4982 | 2265 | + /* instruct user what is happening */ | ||
4983 | 2266 | + if (asprintf(&Announce, _("Changing password for %s."), | ||
4984 | 2267 | + user) < 0) { | ||
4985 | 2268 | + pam_syslog(pamh, LOG_CRIT, | ||
4986 | 2269 | + "password - out of memory"); | ||
4987 | 2270 | + return PAM_BUF_ERR; | ||
4988 | 2271 | + } | ||
4989 | 2272 | + | ||
4990 | 2273 | + lctrl = ctrl; | ||
4991 | 2274 | + set(UNIX__OLD_PASSWD, lctrl); | ||
4992 | 2275 | + retval = _unix_read_password(pamh, lctrl | ||
4993 | 2276 | + ,Announce | ||
4994 | 2277 | + ,(on(UNIX__IAMROOT, ctrl) | ||
4995 | 2278 | + ? _("NIS server root password: ") | ||
4996 | 2279 | + : _("(current) UNIX password: ")) | ||
4997 | 2280 | + ,NULL | ||
4998 | 2281 | + ,_UNIX_OLD_AUTHTOK | ||
4999 | 2282 | + ,&pass_old); | ||
5000 | 2283 | + free(Announce); |
The diff has been truncated for viewing.
Because this was already uploaded, we are essentially 'too late' to integrate the rich history directly. I have upload-tagged the source commit and pushed it to the importer repository, though.
In a future merge, the upload tag can be used as the starting point (presuming no further bionic changes), or it can even be used as the starting point of the next bugfix, and then it would get integrated, as long as the upload tag is pushed before the dput.