OpenCoverage

sshlogin.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/openssh/src/sshlogin.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6-
7-
8-
9-
10extern struct sshbuf *loginmsg;-
11extern ServerOptions options;-
12-
13-
14-
15-
16-
17-
18time_t-
19get_last_login_time(uid_t uid, const char *logname,-
20 char *buf, size_t bufsize)-
21{-
22 struct logininfo li;-
23-
24 login_get_lastlog(&li, uid);-
25 strlcpy(buf, li.hostname, bufsize);-
26 return
never executed: return (time_t)li.tv_sec;
(time_t)li.tv_sec;
never executed: return (time_t)li.tv_sec;
0
27}-
28-
29-
30-
31-
32-
33static void-
34store_lastlog_message(const char *user, uid_t uid)-
35{-
36-
37 char *time_string, hostname[-
38 64-
39 +1] = "";-
40 time_t last_login_time;-
41 int r;-
42-
43 if (!options.print_lastlog
!options.print_lastlogDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
44 return;
never executed: return;
0
45 last_login_time = get_last_login_time(uid, user, hostname,-
46 sizeof(hostname));-
47-
48 if (last_login_time != 0
last_login_time != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
49 time_string = ctime(&last_login_time);-
50 time_string[-
51 __builtin_strcspn (-
52 time_string-
53 , -
54 "\n"-
55 )-
56 ] = '\0';-
57 if (-
58 __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
59 hostname
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
60 ) && __builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
61 ""
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
62 ) && (__s1_len = __builtin_strlen (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
63 hostname
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
64 ), __s2_len = __builtin_strlen (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
65 ""
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
66 ), (!((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
67 hostname
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
68 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
69 hostname
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
70 ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
71 ""
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
72 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
73 ""
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
74 ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
75 hostname
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
76 ,
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
77 ""
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
78 ) : (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
79 hostname
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
80 ) && ((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
81 hostname
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
82 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
83 hostname
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
84 ) == 1) && (__s1_len = __builtin_strlen (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
85 hostname
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
86 ), __s1_len < 4) ? (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
87 ""
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
88 ) && ((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
89 ""
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
90 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
91 ""
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
92 ) == 1) ? __builtin_strcmp (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
93 hostname
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
94 ,
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
95 ""
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
96 ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
97 ""
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
98 ); int __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
99 hostname
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
100 ))[0] - __s2[0]); if (__s1_len > 0
__s1_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
101 hostname
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
102 ))[1] - __s2[1]); if (__s1_len > 1
__s1_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
103 hostname
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
104 ))[2] - __s2[2]); if (__s1_len > 2
__s1_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) __result = (((const unsigned char *) (const char *) (
never executed: __result = (((const unsigned char *) (const char *) ( hostname ))[3] - __s2[3]);
0
105 hostname
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
never executed: __result = (((const unsigned char *) (const char *) ( hostname ))[3] - __s2[3]);
0
106 ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
107 ""
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
108 ) && ((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
109 ""
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
110 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
111 ""
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
112 ) == 1) && (__s2_len = __builtin_strlen (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
113 ""
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
114 ), __s2_len < 4) ? (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
115 hostname
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
116 ) && ((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
117 hostname
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
118 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
119 hostname
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
120 ) == 1) ? __builtin_strcmp (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
121 hostname
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
122 ,
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
123 ""
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
124 ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
125 hostname
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
126 ); int __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
127 ""
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
128 ))[0] - __s2[0]); if (__s2_len > 0
__s2_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
129 ""
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
130 ))[1] - __s2[1]); if (__s2_len > 1
__s2_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
131 ""
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
132 ))[2] - __s2[2]); if (__s2_len > 2
__s2_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) __result = (((const unsigned char *) (const char *) (
never executed: __result = (((const unsigned char *) (const char *) ( "" ))[3] - __s2[3]);
0
133 ""
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
never executed: __result = (((const unsigned char *) (const char *) ( "" ))[3] - __s2[3]);
0
134 ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
135 hostname
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
136 ,
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
137 ""
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
138 )))); })
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
139 == 0
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
140 r = sshbuf_putf(loginmsg, "Last login: %s\r\n",
never executed: r = sshbuf_putf(loginmsg, "Last login: %s\r\n", time_string);
0
141 time_string);
never executed: r = sshbuf_putf(loginmsg, "Last login: %s\r\n", time_string);
0
142 else-
143 r = sshbuf_putf(loginmsg, "Last login: %s from %s\r\n",
never executed: r = sshbuf_putf(loginmsg, "Last login: %s from %s\r\n", time_string, hostname);
0
144 time_string, hostname);
never executed: r = sshbuf_putf(loginmsg, "Last login: %s from %s\r\n", time_string, hostname);
0
145 if (r != 0
r != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
146 fatal("%s: buffer error: %s", __func__, ssh_err(r));
never executed: fatal("%s: buffer error: %s", __func__, ssh_err(r));
0
147 }
never executed: end of block
0
148-
149-
150}
never executed: end of block
0
151-
152-
153-
154-
155-
156void-
157record_login(pid_t pid, const char *tty, const char *user, uid_t uid,-
158 const char *host, struct sockaddr *addr, socklen_t addrlen)-
159{-
160 struct logininfo *li;-
161-
162-
163 store_lastlog_message(user, uid);-
164-
165 li = login_alloc_entry(pid, user, host, tty);-
166 login_set_addr(li, addr, addrlen);-
167 login_login(li);-
168 login_free_entry(li);-
169}
never executed: end of block
0
170void-
171record_logout(pid_t pid, const char *tty, const char *user)-
172{-
173 struct logininfo *li;-
174-
175 li = login_alloc_entry(pid, user, -
176 ((void *)0)-
177 , tty);-
178 login_logout(li);-
179 login_free_entry(li);-
180}
never executed: end of block
0
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2