Blame pam-1.1.7-tty-audit-init.patch
|
![](https://seccdn.libravatar.org/avatar/dedd662cd18533e6b346ba9fced85f9b3e4c6ff8041e69506ad783477abed011?s=16&d=retro) |
b5054fa |
diff -up Linux-PAM-1.1.7/modules/pam_tty_audit/pam_tty_audit.c.tty-audit-init Linux-PAM-1.1.7/modules/pam_tty_audit/pam_tty_audit.c
|
|
![](https://seccdn.libravatar.org/avatar/dedd662cd18533e6b346ba9fced85f9b3e4c6ff8041e69506ad783477abed011?s=16&d=retro) |
b5054fa |
--- Linux-PAM-1.1.7/modules/pam_tty_audit/pam_tty_audit.c.tty-audit-init 2013-08-28 10:53:40.000000000 +0200
|
|
![](https://seccdn.libravatar.org/avatar/dedd662cd18533e6b346ba9fced85f9b3e4c6ff8041e69506ad783477abed011?s=16&d=retro) |
b5054fa |
+++ Linux-PAM-1.1.7/modules/pam_tty_audit/pam_tty_audit.c 2013-10-04 14:51:19.944994905 +0200
|
|
![](https://seccdn.libravatar.org/avatar/dedd662cd18533e6b346ba9fced85f9b3e4c6ff8041e69506ad783477abed011?s=16&d=retro) |
b5054fa |
@@ -36,6 +36,7 @@
|
|
![](https://seccdn.libravatar.org/avatar/dedd662cd18533e6b346ba9fced85f9b3e4c6ff8041e69506ad783477abed011?s=16&d=retro) |
b5054fa |
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
|
|
![](https://seccdn.libravatar.org/avatar/dedd662cd18533e6b346ba9fced85f9b3e4c6ff8041e69506ad783477abed011?s=16&d=retro) |
b5054fa |
DAMAGE. */
|
|
![](https://seccdn.libravatar.org/avatar/dedd662cd18533e6b346ba9fced85f9b3e4c6ff8041e69506ad783477abed011?s=16&d=retro) |
b5054fa |
|
|
![](https://seccdn.libravatar.org/avatar/dedd662cd18533e6b346ba9fced85f9b3e4c6ff8041e69506ad783477abed011?s=16&d=retro) |
b5054fa |
+#include "config.h"
|
|
![](https://seccdn.libravatar.org/avatar/dedd662cd18533e6b346ba9fced85f9b3e4c6ff8041e69506ad783477abed011?s=16&d=retro) |
b5054fa |
#include <errno.h>
|
|
![](https://seccdn.libravatar.org/avatar/dedd662cd18533e6b346ba9fced85f9b3e4c6ff8041e69506ad783477abed011?s=16&d=retro) |
b5054fa |
#include <fnmatch.h>
|
|
![](https://seccdn.libravatar.org/avatar/dedd662cd18533e6b346ba9fced85f9b3e4c6ff8041e69506ad783477abed011?s=16&d=retro) |
b5054fa |
#include <stdlib.h>
|
|
![](https://seccdn.libravatar.org/avatar/dedd662cd18533e6b346ba9fced85f9b3e4c6ff8041e69506ad783477abed011?s=16&d=retro) |
b5054fa |
@@ -108,7 +109,7 @@ nl_recv (int fd, unsigned type, void *bu
|
|
![](https://seccdn.libravatar.org/avatar/dedd662cd18533e6b346ba9fced85f9b3e4c6ff8041e69506ad783477abed011?s=16&d=retro) |
b5054fa |
struct msghdr msg;
|
|
![](https://seccdn.libravatar.org/avatar/dedd662cd18533e6b346ba9fced85f9b3e4c6ff8041e69506ad783477abed011?s=16&d=retro) |
b5054fa |
struct nlmsghdr nlm;
|
|
![](https://seccdn.libravatar.org/avatar/dedd662cd18533e6b346ba9fced85f9b3e4c6ff8041e69506ad783477abed011?s=16&d=retro) |
b5054fa |
struct iovec iov[2];
|
|
![](https://seccdn.libravatar.org/avatar/dedd662cd18533e6b346ba9fced85f9b3e4c6ff8041e69506ad783477abed011?s=16&d=retro) |
b5054fa |
- ssize_t res;
|
|
![](https://seccdn.libravatar.org/avatar/dedd662cd18533e6b346ba9fced85f9b3e4c6ff8041e69506ad783477abed011?s=16&d=retro) |
b5054fa |
+ ssize_t res, resdiff;
|
|
![](https://seccdn.libravatar.org/avatar/dedd662cd18533e6b346ba9fced85f9b3e4c6ff8041e69506ad783477abed011?s=16&d=retro) |
b5054fa |
|
|
![](https://seccdn.libravatar.org/avatar/dedd662cd18533e6b346ba9fced85f9b3e4c6ff8041e69506ad783477abed011?s=16&d=retro) |
b5054fa |
again:
|
|
![](https://seccdn.libravatar.org/avatar/dedd662cd18533e6b346ba9fced85f9b3e4c6ff8041e69506ad783477abed011?s=16&d=retro) |
b5054fa |
iov[0].iov_base = &nlm;
|
|
![](https://seccdn.libravatar.org/avatar/dedd662cd18533e6b346ba9fced85f9b3e4c6ff8041e69506ad783477abed011?s=16&d=retro) |
b5054fa |
@@ -160,12 +161,17 @@ nl_recv (int fd, unsigned type, void *bu
|
|
![](https://seccdn.libravatar.org/avatar/dedd662cd18533e6b346ba9fced85f9b3e4c6ff8041e69506ad783477abed011?s=16&d=retro) |
b5054fa |
res = recvmsg (fd, &msg, 0);
|
|
![](https://seccdn.libravatar.org/avatar/dedd662cd18533e6b346ba9fced85f9b3e4c6ff8041e69506ad783477abed011?s=16&d=retro) |
b5054fa |
if (res == -1)
|
|
![](https://seccdn.libravatar.org/avatar/dedd662cd18533e6b346ba9fced85f9b3e4c6ff8041e69506ad783477abed011?s=16&d=retro) |
b5054fa |
return -1;
|
|
![](https://seccdn.libravatar.org/avatar/dedd662cd18533e6b346ba9fced85f9b3e4c6ff8041e69506ad783477abed011?s=16&d=retro) |
b5054fa |
- if ((size_t)res != NLMSG_LENGTH (size)
|
|
![](https://seccdn.libravatar.org/avatar/dedd662cd18533e6b346ba9fced85f9b3e4c6ff8041e69506ad783477abed011?s=16&d=retro) |
b5054fa |
+ resdiff = NLMSG_LENGTH(size) - (size_t)res;
|
|
![](https://seccdn.libravatar.org/avatar/dedd662cd18533e6b346ba9fced85f9b3e4c6ff8041e69506ad783477abed011?s=16&d=retro) |
b5054fa |
+ if (resdiff < 0
|
|
![](https://seccdn.libravatar.org/avatar/dedd662cd18533e6b346ba9fced85f9b3e4c6ff8041e69506ad783477abed011?s=16&d=retro) |
b5054fa |
|| nlm.nlmsg_type != type)
|
|
![](https://seccdn.libravatar.org/avatar/dedd662cd18533e6b346ba9fced85f9b3e4c6ff8041e69506ad783477abed011?s=16&d=retro) |
b5054fa |
{
|
|
![](https://seccdn.libravatar.org/avatar/dedd662cd18533e6b346ba9fced85f9b3e4c6ff8041e69506ad783477abed011?s=16&d=retro) |
b5054fa |
errno = EIO;
|
|
![](https://seccdn.libravatar.org/avatar/dedd662cd18533e6b346ba9fced85f9b3e4c6ff8041e69506ad783477abed011?s=16&d=retro) |
b5054fa |
return -1;
|
|
![](https://seccdn.libravatar.org/avatar/dedd662cd18533e6b346ba9fced85f9b3e4c6ff8041e69506ad783477abed011?s=16&d=retro) |
b5054fa |
}
|
|
![](https://seccdn.libravatar.org/avatar/dedd662cd18533e6b346ba9fced85f9b3e4c6ff8041e69506ad783477abed011?s=16&d=retro) |
b5054fa |
+ else if (resdiff > 0)
|
|
![](https://seccdn.libravatar.org/avatar/dedd662cd18533e6b346ba9fced85f9b3e4c6ff8041e69506ad783477abed011?s=16&d=retro) |
b5054fa |
+ {
|
|
![](https://seccdn.libravatar.org/avatar/dedd662cd18533e6b346ba9fced85f9b3e4c6ff8041e69506ad783477abed011?s=16&d=retro) |
b99d0d5 |
+ memset((char *)buf + size - resdiff, 0, resdiff);
|
|
![](https://seccdn.libravatar.org/avatar/dedd662cd18533e6b346ba9fced85f9b3e4c6ff8041e69506ad783477abed011?s=16&d=retro) |
b5054fa |
+ }
|
|
![](https://seccdn.libravatar.org/avatar/dedd662cd18533e6b346ba9fced85f9b3e4c6ff8041e69506ad783477abed011?s=16&d=retro) |
b5054fa |
return 0;
|
|
![](https://seccdn.libravatar.org/avatar/dedd662cd18533e6b346ba9fced85f9b3e4c6ff8041e69506ad783477abed011?s=16&d=retro) |
b5054fa |
}
|
|
![](https://seccdn.libravatar.org/avatar/dedd662cd18533e6b346ba9fced85f9b3e4c6ff8041e69506ad783477abed011?s=16&d=retro) |
b5054fa |
|
|
![](https://seccdn.libravatar.org/avatar/dedd662cd18533e6b346ba9fced85f9b3e4c6ff8041e69506ad783477abed011?s=16&d=retro) |
b5054fa |
@@ -275,6 +281,8 @@ pam_sm_open_session (pam_handle_t *pamh,
|
|
![](https://seccdn.libravatar.org/avatar/dedd662cd18533e6b346ba9fced85f9b3e4c6ff8041e69506ad783477abed011?s=16&d=retro) |
b5054fa |
return PAM_SESSION_ERR;
|
|
![](https://seccdn.libravatar.org/avatar/dedd662cd18533e6b346ba9fced85f9b3e4c6ff8041e69506ad783477abed011?s=16&d=retro) |
b5054fa |
}
|
|
![](https://seccdn.libravatar.org/avatar/dedd662cd18533e6b346ba9fced85f9b3e4c6ff8041e69506ad783477abed011?s=16&d=retro) |
b5054fa |
|
|
![](https://seccdn.libravatar.org/avatar/dedd662cd18533e6b346ba9fced85f9b3e4c6ff8041e69506ad783477abed011?s=16&d=retro) |
b5054fa |
+ memcpy(&new_status, old_status, sizeof(new_status));
|
|
![](https://seccdn.libravatar.org/avatar/dedd662cd18533e6b346ba9fced85f9b3e4c6ff8041e69506ad783477abed011?s=16&d=retro) |
b5054fa |
+
|
|
![](https://seccdn.libravatar.org/avatar/dedd662cd18533e6b346ba9fced85f9b3e4c6ff8041e69506ad783477abed011?s=16&d=retro) |
b5054fa |
new_status.enabled = (command == CMD_ENABLE ? 1 : 0);
|
|
![](https://seccdn.libravatar.org/avatar/dedd662cd18533e6b346ba9fced85f9b3e4c6ff8041e69506ad783477abed011?s=16&d=retro) |
b5054fa |
#ifdef HAVE_STRUCT_AUDIT_TTY_STATUS_LOG_PASSWD
|
|
![](https://seccdn.libravatar.org/avatar/dedd662cd18533e6b346ba9fced85f9b3e4c6ff8041e69506ad783477abed011?s=16&d=retro) |
b5054fa |
new_status.log_passwd = log_passwd;
|