Revert "Revert "oran-shell-release: release image for F""
[pti/rtp.git] / meta-starlingx / meta-stx-integ / recipes-extended / sudo / files / sudo-1.8.6p7-logsudouser.patch
1 From 7ee2d1e7fd55da7074a39b41fe342e261dd1f191 Mon Sep 17 00:00:00 2001
2 From: Tomas Sykora <tosykora@redhat.com>
3 Date: Wed, 17 Aug 2016 10:12:11 +0200
4 Subject: [PATCH] Sudo logs username root instead of realuser
5
6 RHEL7 sudo logs username root instead of realuser in /var/log/secure
7
8 Rebased from:
9 Patch50: sudo-1.8.6p7-logsudouser.patch
10
11 Resolves:
12 rhbz#1312486
13
14 ---
15  plugins/sudoers/logging.c | 14 +++++++-------
16  plugins/sudoers/sudoers.h |  1 +
17  2 files changed, 8 insertions(+), 7 deletions(-)
18
19 diff --git a/plugins/sudoers/logging.c b/plugins/sudoers/logging.c
20 index 9562609..775fd0c 100644
21 --- a/plugins/sudoers/logging.c
22 +++ b/plugins/sudoers/logging.c
23 @@ -116,7 +116,7 @@ do_syslog(int pri, char *msg)
24       * Log the full line, breaking into multiple syslog(3) calls if necessary
25       */
26      fmt = _("%8s : %s");
27 -    maxlen = def_syslog_maxlen - (strlen(fmt) - 5 + strlen(user_name));
28 +    maxlen = def_syslog_maxlen - (strlen(fmt) - 5 + strlen(sudo_user_name));
29      for (p = msg; *p != '\0'; ) {
30         len = strlen(p);
31         if (len > maxlen) {
32 @@ -132,7 +132,7 @@ do_syslog(int pri, char *msg)
33             save = *tmp;
34             *tmp = '\0';
35  
36 -           mysyslog(pri, fmt, user_name, p);
37 +           mysyslog(pri, fmt, sudo_user_name, p);
38  
39             *tmp = save;                        /* restore saved character */
40  
41 @@ -140,11 +140,11 @@ do_syslog(int pri, char *msg)
42             for (p = tmp; *p == ' '; p++)
43                 continue;
44         } else {
45 -           mysyslog(pri, fmt, user_name, p);
46 +           mysyslog(pri, fmt, sudo_user_name, p);
47             p += len;
48         }
49         fmt = _("%8s : (command continued) %s");
50 -       maxlen = def_syslog_maxlen - (strlen(fmt) - 5 + strlen(user_name));
51 +       maxlen = def_syslog_maxlen - (strlen(fmt) - 5 + strlen(sudo_user_name));
52      }
53  
54      sudoers_setlocale(oldlocale, NULL);
55 @@ -191,10 +191,10 @@ do_logfile(const char *msg)
56         timestr = "invalid date";
57      if (def_log_host) {
58         len = asprintf(&full_line, "%s : %s : HOST=%s : %s",
59 -           timestr, user_name, user_srunhost, msg);
60 +           timestr, sudo_user_name, user_srunhost, msg);
61      } else {
62         len = asprintf(&full_line, "%s : %s : %s",
63 -           timestr, user_name, msg);
64 +           timestr, sudo_user_name, msg);
65      }
66      if (len == -1) {
67         sudo_warnx(U_("%s: %s"), __func__, U_("unable to allocate memory"));
68 @@ -844,7 +844,7 @@ send_mail(const char *fmt, ...)
69  
70      if ((timestr = get_timestr(time(NULL), def_log_year)) == NULL)
71         timestr = "invalid date";
72 -    (void) fprintf(mail, "\n\n%s : %s : %s : ", user_host, timestr, user_name);
73 +    (void) fprintf(mail, "\n\n%s : %s : %s : ", user_host, timestr, sudo_user_name);
74      va_start(ap, fmt);
75      (void) vfprintf(mail, fmt, ap);
76      va_end(ap);
77 diff --git a/plugins/sudoers/sudoers.h b/plugins/sudoers/sudoers.h
78 index 28dbbb3..99e137b 100644
79 --- a/plugins/sudoers/sudoers.h
80 +++ b/plugins/sudoers/sudoers.h
81 @@ -188,6 +188,7 @@ struct sudo_user {
82  /*
83   * Shortcuts for sudo_user contents.
84   */
85 +#define sudo_user_name         (sudo_user.pw->pw_name)
86  #define user_name              (sudo_user.name)
87  #define user_uid               (sudo_user.uid)
88  #define user_gid               (sudo_user.gid)