Iker Pedrosa
5d0d784197
Fix covscan BUFFER_SIZE
...
Error: BUFFER_SIZE (CWE-170): [#def6]
shadow-4.8.1/libmisc/failure.c:101: buffer_size_warning: Calling "strncpy" with a maximum size argument of 12 bytes on destination array "fl->fail_line" of size 12 bytes might leave the destination string unterminated.
99| }
100|
101|-> strncpy (fl->fail_line, tty, sizeof fl->fail_line);
102| (void) time (&fl->fail_time);
103|
Error: BUFFER_SIZE (CWE-170): [#def9]
shadow-4.8.1/libmisc/log.c:103: buffer_size_warning: Calling "strncpy" with a maximum size argument of 32 bytes on destination array "newlog.ll_line" of size 32 bytes might leave the destination string unterminated.
101| (void) time (&ll_time);
102| newlog.ll_time = ll_time;
103|-> strncpy (newlog.ll_line, line, sizeof newlog.ll_line);
104| #if HAVE_LL_HOST
105| strncpy (newlog.ll_host, host, sizeof newlog.ll_host);
Error: BUFFER_SIZE (CWE-170): [#def10]
shadow-4.8.1/libmisc/log.c:105: buffer_size_warning: Calling "strncpy" with a maximum size argument of 256 bytes on destination array "newlog.ll_host" of size 256 bytes might leave the destination string unterminated.
103| strncpy (newlog.ll_line, line, sizeof newlog.ll_line);
104| #if HAVE_LL_HOST
105|-> strncpy (newlog.ll_host, host, sizeof newlog.ll_host);
106| #endif
107| if ( (lseek (fd, offset, SEEK_SET) != offset)
Error: BUFFER_SIZE (CWE-170): [#def13]
shadow-4.8.1/libmisc/utmp.c:260: buffer_size_warning: Calling "strncpy" with a maximum size argument of 32 bytes on destination array "utent->ut_line" of size 32 bytes might leave the destination string unterminated.
258| #endif /* HAVE_STRUCT_UTMP_UT_TYPE */
259| utent->ut_pid = getpid ();
260|-> strncpy (utent->ut_line, line, sizeof (utent->ut_line));
261| #ifdef HAVE_STRUCT_UTMP_UT_ID
262| if (NULL != ut) {
Error: BUFFER_SIZE (CWE-170): [#def14]
shadow-4.8.1/libmisc/utmp.c:266: buffer_size_warning: Calling "strncpy" with a maximum size argument of 4 bytes on destination array "utent->ut_id" of size 4 bytes might leave the destination string unterminated.
264| } else {
265| /* XXX - assumes /dev/tty?? */
266|-> strncpy (utent->ut_id, line + 3, sizeof (utent->ut_id));
267| }
268| #endif /* HAVE_STRUCT_UTMP_UT_ID */
Error: BUFFER_SIZE (CWE-170): [#def15]
shadow-4.8.1/libmisc/utmp.c:273: buffer_size_warning: Calling "strncpy" with a maximum size argument of 32 bytes on destination array "utent->ut_user" of size 32 bytes might leave the destination string unterminated.
271| #endif /* HAVE_STRUCT_UTMP_UT_NAME */
272| #ifdef HAVE_STRUCT_UTMP_UT_USER
273|-> strncpy (utent->ut_user, name, sizeof (utent->ut_user));
274| #endif /* HAVE_STRUCT_UTMP_UT_USER */
275| if (NULL != hostname) {
Error: BUFFER_SIZE (CWE-170): [#def16]
shadow-4.8.1/libmisc/utmp.c:278: buffer_size_warning: Calling "strncpy" with a maximum size argument of 256 bytes on destination array "utent->ut_host" of size 256 bytes might leave the destination string unterminated.
276| struct addrinfo *info = NULL;
277| #ifdef HAVE_STRUCT_UTMP_UT_HOST
278|-> strncpy (utent->ut_host, hostname, sizeof (utent->ut_host));
279| #endif /* HAVE_STRUCT_UTMP_UT_HOST */
280| #ifdef HAVE_STRUCT_UTMP_UT_SYSLEN
Signed-off-by: Iker Pedrosa <ipedrosa@redhat.com>
2021-06-16 09:50:53 +02:00
A. Wilcox
99dbd4b9ee
Support systems that only have utmpx
...
This allows shadow-utils to build on systems like Adélie, which have no
<utmp.h> header or `struct utmp`. We use a <utmpx.h>-based daemon,
utmps[1], which uses `struct utmpx` only.
Tested both `login` and `logoutd` with utmps and both work correctly.
[1]: http://skarnet.org/software/utmps/
2018-06-24 00:13:12 -05:00
Josh Soref
51f740e23e
spelling: entered
2017-10-22 19:10:41 +00:00
Nicolas François
45986f8dc8
Fix for Alioth#314271 (musl libc)
...
* libmisc/utmp.c: Add include files needed for getaddrinfo().
See Alioth#314271
2013-08-07 02:18:43 +02:00
nekral-guest
f243d4077d
* NEWS, src/login.c: Log in utmp / utmpx / wtmp also when PAM is
...
enabled. This is not done by pam_lastlog. This was broken on
2011-07-23.
* NEWS, libmisc/utmp.c: Do not log in wtmp when PAM is enabled.
This is done by pam_lastlog.
2012-05-18 17:57:52 +00:00
nekral-guest
031279dfb2
* libmisc/limits.c: Fix the format to match the unsigned long
...
variable in argument.
* libmisc/utmp.c: Fix tests. tmptty is a variable stack. ut_host
is an array of the ut structure. None of them can be NULL.
2009-09-07 19:50:00 +00:00
nekral-guest
dd85562fac
* libmisc/utmp.c, src/userdel.c, src/logoutd.c: Replace #if by #ifdef
2009-04-28 20:03:23 +00:00
nekral-guest
80fd2969c9
* libmisc/utmp.c: Replace HAVE_UTMPX_H by USE_UTMPX.
...
* libmisc/utmp.c: Removed old comment on HAVE_STRUCT_UTMP_UT_ID
and UTMPX support.
2009-04-27 20:06:25 +00:00
nekral-guest
2c0f3ef707
* libmisc/utmp.c, libmisc/age.c, libmisc/shell.c, lib/groupio.c,
...
lib/groupio.h, lib/sgroupio.c, lib/sgroupio.h, lib/shadowio.c,
lib/pwio.c, lib/commonio.c, lib/shadowio.h, lib/pwio.h,
lib/commonio.h, lib/prototypes.h: Added splint annotations.
2009-04-22 21:21:14 +00:00
nekral-guest
aebddca35d
* libmisc/utmp.c: Added splint annotations.
2009-04-22 21:07:33 +00:00
nekral-guest
620ee81b7e
* libmisc/utmp.c: Only set ut_time and ut_tv if gettimeofday()
...
succeeds.
2009-04-22 21:06:13 +00:00
nekral-guest
e76a5df932
* libmisc/utmp.c: Fix the check for empty host in prepare_utmp()
...
and prepare_utmpx().
2009-04-22 21:04:16 +00:00
nekral-guest
7fb1063ccd
* libmisc/utmp.c: The ut argument of prepare_utmp() might be NULL.
...
ut_id needs to be forged in that case.
2009-04-22 21:02:46 +00:00
nekral-guest
811288df64
* libmisc/utmp.c: Removed old documentation of setutmp().
2009-04-22 21:00:18 +00:00
nekral-guest
31906409c8
* libmisc/utmp.c: Use xmalloc() rather than malloc().
2009-04-22 20:59:23 +00:00
nekral-guest
b05783da32
* libmisc/utmp.c: The name returned by ttyame() needs to be copied
...
locally.
2009-04-22 20:57:29 +00:00
nekral-guest
82c1a583f8
* libmisc/utmp.c: Reworked. Get rid of Linux specific stuff. Get rid
...
of global utent/utxent variables. Only reuse the ut_id and maybe
the ut_host fields from utmp.
* lib/prototypes.h, libmisc/utmp.c: Removed checkutmp(),
setutmp(), setutmpx().
* lib/prototypes.h, libmisc/utmp.c: Added get_current_utmp(),
prepare_utmp(), prepare_utmpx(), setutmp(), setutmpx().
* libmisc/utmp.c (is_my_tty): Only compare the name of the utmp
line with ttyname(). (No stat of the two terminals to compare the
devices).
* libmisc/utmp.c: Use getaddrinfo() to get the address of the
host.
* configure.in: Check for getaddrinfo().
* configure.in: Use AC_CHECK_MEMBERS to check for the existence of
fields in the utmp/utmpx structures.
* configure.in: Reject systems with utmpx support but no ut_id
field in utmp. This could be fixed later if needed.
* src/login.c: Use the new utmp functions. This also simplifies
the failtmp() handling.
* src/login.c: passwd_free() renamed to pw_free() and
shadow_free() renamed to spw_free()
2009-04-21 22:39:14 +00:00
nekral-guest
2ed05e548b
* libmisc/utmp.c: Always call endutent or endutxent when setutent
...
or setutxent were used.
2009-04-19 15:28:38 +00:00
nekral-guest
d2a822fe39
* libmisc/utmp.c: Do not trust the current utmp entry's ut_line.
...
Always set ut_line based on ttyname(0).
2009-04-17 21:25:30 +00:00
nekral-guest
a324a7f13f
* NEWS, libmisc/chowntty.c, libmisc/utmp.c: is_my_tty() moved from
...
utmp.c to chowntty.c. checkutmp() now only uses an existing utmp
entry if the pid matches and ut_line matches with the current tty.
This fixes a possible DOS when entries can be forged in the utmp
file.
* libmisc/chowntty.c, src/login.c, lib/prototypes.h: Remove the
tty argument from chown_tty. chown_tty always changes stdin and
does not need this argument anymore.
2008-11-22 23:56:11 +00:00
nekral-guest
4507bd32af
* libmisc/utmp.c: Mark the line and host arguments of setutmp() as
...
not used in the __linux__ version.
2008-08-31 17:27:37 +00:00
nekral-guest
5f9226b14b
* libmisc/utmp.c: Avoid implicit conversion of pointers / chars to
...
booleans.
* libmisc/utmp.c: Add brackets and parenthesis.
* libmisc/utmp.c: Exit with the EXIT_FAILURE status code in case
of failure.
* libmisc/utmp.c: Avoid assignments in comparisons.
* lib/prototypes.h, libmisc/utmp.c: Change setutmp()'s prototype
to return an int because pututline() and pututxline() may fail.
2008-06-17 21:13:30 +00:00
nekral-guest
43e4d608ae
* libmisc/utmp.c: Avoid implicit conversion of pointers to
...
booleans
+ add missing changelog from last commit.
2008-06-13 18:17:10 +00:00
nekral-guest
a24aff2148
checkutmp is implemented twice. I only changed the second one. Now fix the
...
first one.
2008-05-26 00:26:33 +00:00
nekral-guest
7069324a20
* libmisc/utmp.c (checkutmp): Change picky argument's type to
...
bool.
* libmisc/utmp.c: Use bool when possible (found_utmpx,
found_utmp).
* libmisc/utmp.c: Add note about unchecked return values.
2008-05-25 22:11:12 +00:00
nekral-guest
c7302b61ef
Make sure every source files are distributed with a copyright and license.
...
Files with no license use the default 3-clauses BSD license. The copyright
were mostly not recorded; they were updated according to the Changelog.
"Julianne Frances Haugh and contributors" changed to "copyright holders
and contributors".
2008-04-27 00:40:09 +00:00
nekral-guest
e94d2da45e
Remove the declaration of getutent(), getutline(), setutent(), and
...
endutent() which are declared in <utmp.h>
2008-01-05 14:09:56 +00:00
nekral-guest
96bca84ca4
Include "prototypes.h" to make sure the exported prototypes are
...
the ones used for the definition of functions.
2008-01-05 13:23:22 +00:00
nekral-guest
b2120265fd
Added the subversion svn:keywords property (Id) for proper identification.
2007-11-10 23:46:11 +00:00
nekral-guest
8451bed8b0
[svn-upgrade] Integrating new upstream version, shadow (4.0.13)
2007-10-07 11:47:01 +00:00
nekral-guest
b48129fcbb
[svn-upgrade] Integrating new upstream version, shadow (4.0.11)
2007-10-07 11:46:34 +00:00
nekral-guest
8e167d28af
[svn-upgrade] Integrating new upstream version, shadow (4.0.8)
2007-10-07 11:46:07 +00:00
nekral-guest
effd479bff
[svn-upgrade] Integrating new upstream version, shadow (4.0.4)
2007-10-07 11:45:23 +00:00
nekral-guest
4903ce068e
[svn-upgrade] Integrating new upstream version, shadow (4.0.3)
2007-10-07 11:45:14 +00:00
nekral-guest
9db6abfa42
[svn-upgrade] Integrating new upstream version, shadow (4.0.1)
2007-10-07 11:44:59 +00:00
nekral-guest
45c6603cc8
[svn-upgrade] Integrating new upstream version, shadow (19990709)
2007-10-07 11:44:02 +00:00