Diff of the two buildlogs: -- --- b1/build.log 2025-03-05 10:39:49.407461857 +0000 +++ b2/build.log 2025-03-05 10:41:31.002885483 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Tue Apr 7 05:02:15 -12 2026 -I: pbuilder-time-stamp: 1775581335 +I: Current time: Thu Mar 6 00:39:55 +14 2025 +I: pbuilder-time-stamp: 1741171195 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration @@ -26,52 +26,84 @@ dpkg-source: info: applying reproducible-build.patch I: using fakeroot in build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/786431/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/1130188/tmp/hooks/D01_modify_environment starting +debug: Running on ionos1-amd64. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Mar 5 10:40 /bin/sh -> /bin/bash +I: Setting pbuilder2's login shell to /bin/bash +I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other +I: user script /srv/workspace/pbuilder/1130188/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/1130188/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build/reproducible-path' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='amd64' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=42 ' - DISTRIBUTION='unstable' - HOME='/root' - HOST_ARCH='amd64' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu") + BASH_VERSION='5.2.37(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=amd64 + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=20 ' + DIRSTACK=() + DISTRIBUTION=unstable + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=x86_64 + HOST_ARCH=amd64 IFS=' ' - INVOCATION_ID='39ce0c90990143c7981914ab85d4c752' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - MAIL='/var/mail/root' - OPTIND='1' - PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' - PBCURRENTCOMMANDLINEOPERATION='build' - PBUILDER_OPERATION='build' - PBUILDER_PKGDATADIR='/usr/share/pbuilder' - PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' - PBUILDER_SYSCONFDIR='/etc' - PPID='786431' - PS1='# ' - PS2='> ' + INVOCATION_ID=dc7e61e0b62147d6b0a87c96589c67dd + LANG=C + LANGUAGE=et_EE:et + LC_ALL=C + MACHTYPE=x86_64-pc-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=1130188 PS4='+ ' - PWD='/' - SHELL='/bin/bash' - SHLVL='2' - SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.CGGPixUq/pbuilderrc_MVF8 --distribution unstable --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.CGGPixUq/b1 --logfile b1/build.log cfingerd_1.4.3-8.dsc' - SUDO_GID='111' - SUDO_UID='106' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://213.165.73.152:3128' + PWD=/ + SHELL=/bin/bash + SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix + SHLVL=3 + SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.CGGPixUq/pbuilderrc_diof --distribution unstable --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.CGGPixUq/b2 --logfile b2/build.log cfingerd_1.4.3-8.dsc' + SUDO_GID=110 + SUDO_UID=105 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://46.16.76.132:3128 I: uname -a - Linux ionos15-amd64 6.12.12+bpo-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.12-1~bpo12+1 (2025-02-23) x86_64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-31-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.128-1 (2025-02-07) x86_64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Nov 22 2024 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/786431/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Mar 4 11:20 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/1130188/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -137,7 +169,7 @@ Get: 28 http://deb.debian.org/debian unstable/main amd64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 29 http://deb.debian.org/debian unstable/main amd64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 30 http://deb.debian.org/debian unstable/main amd64 debhelper all 13.24.1 [920 kB] -Fetched 20.6 MB in 4s (4916 kB/s) +Fetched 20.6 MB in 6s (3678 kB/s) Preconfiguring packages ... Selecting previously unselected package sensible-utils. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19783 files and directories currently installed.) @@ -277,7 +309,11 @@ fakeroot is already the newest version (1.37-1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package -I: Running cd /build/reproducible-path/cfingerd-1.4.3/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../cfingerd_1.4.3-8_source.changes +I: user script /srv/workspace/pbuilder/1130188/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for unstable +I: user script /srv/workspace/pbuilder/1130188/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/cfingerd-1.4.3/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../cfingerd_1.4.3-8_source.changes dpkg-buildpackage: info: source package cfingerd dpkg-buildpackage: info: source version 1.4.3-8 dpkg-buildpackage: info: source distribution unstable @@ -339,60 +375,51 @@ *** DON'T FORGET TO READ THE FAQ!!! dh_auto_build -- all - make -j42 "INSTALL=install --strip-program=true" all + make -j20 "INSTALL=install --strip-program=true" all make[1]: Entering directory '/build/reproducible-path/cfingerd-1.4.3' - Compiling cfingerd, one moment. -Compiling userlist, one moment. -cd src ; make cfingerd -cd userlist ; make userlist +Compiling userlist, one moment. +cd src ; make cfingerd make[2]: Entering directory '/build/reproducible-path/cfingerd-1.4.3/src' cc -O2 -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -c -o main.o main.c -make[2]: Entering directory '/build/reproducible-path/cfingerd-1.4.3/userlist' -cc -O2 -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -c -o main.o main.c + +cd userlist ; make userlist cc -O2 -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -c -o options.o options.c -cc -O2 -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -c -o initialize.o initialize.c cc -O2 -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -c -o version.o version.c -cc -O2 -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -c -o display.o display.c +make[2]: Entering directory '/build/reproducible-path/cfingerd-1.4.3/userlist' +cc -O2 -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -c -o main.o main.c cc -O2 -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -c -o util.o util.c cc -O2 -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -c -o errors.o errors.c -cc -O2 -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -c -o options.o options.c +cc -O2 -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -c -o initialize.o initialize.c cc -O2 -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -c -o strmcpy.o strmcpy.c +cc -O2 -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -c -o display.o display.c +cc -O2 -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -c -o options.o options.c cc -O2 -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -c -o idle.o idle.c cc -O2 -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -c -o parse.o parse.c -cc -O2 -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -c -o ../src/getutent.o ../src/getutent.c cc -O2 -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -c -o configure.o configure.c +cc -O2 -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -c -o ../src/getutent.o ../src/getutent.c cc -O2 -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -c -o internal.o internal.c cc -O2 -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -c -o signal.o signal.c cc -O2 -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -c -o standard.o standard.c +main.c: In function 'main': +main.c:114:27: warning: the comparison will always evaluate as 'true' for the address of 'remote_addr' will never be NULL [-Waddress] + 114 | if (remote_addr != NULL && *remote_addr) { + | ^~ +main.c:25:6: note: 'remote_addr' declared here + 25 | char remote_addr[INET6_ADDRSTRLEN] = ""; + | ^~~~~~~~~~~ cc -O2 -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -c -o userlist.o userlist.c -cc -O2 -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -c -o fakeuser.o fakeuser.c -cc -O2 -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -c -o search.o search.c -cc -O2 -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -c -o getutent.o getutent.c -cc -O2 -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -c -o rfc1413.o rfc1413.c -cc -O2 -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -c -o wildmat.o wildmat.c -cc -O2 -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -c -o log.o log.c -display.c: In function 'process_display': -display.c:95:17: warning: this 'if' clause does not guard... [-Wmisleading-indentation] - 95 | if ((x = index (pwent->pw_gecos, ',')) != NULL) /* username */ - | ^~ -display.c:97:21: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if' - 97 | if ((username = (char *)malloc (strlen(cp)+1)) != NULL) { - | ^~ -signal.c: In function 'start_handler': -signal.c:136:9: warning: iteration 23 invokes undefined behavior [-Waggressive-loop-optimizations] - 136 | signal(signals[i], int_handler); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -signal.c:135:19: note: within this loop - 135 | for (i = 0; i < sigs; i++) - | ~~^~~~~~ +main.c:257:39: warning: argument to 'sizeof' in 'memset' call is the same expression as the destination; did you mean to provide an explicit length? [-Wsizeof-pointer-memaccess] + 257 | memset (ident_user, 0, sizeof (ident_user)); + | ^ util.c: In function 'get_localhost': util.c:463:5: warning: ignoring return value of 'getdomainname' declared with attribute 'warn_unused_result' [-Wunused-result] 463 | getdomainname((char *) domname, (size_t) 80); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +cc -O2 -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -c -o fakeuser.o fakeuser.c In file included from util.c:22: util.c: In function 'safe_exec': privs.h:129:29: warning: ignoring return value of 'setreuid' declared with attribute 'warn_unused_result' [-Wunused-result] @@ -419,22 +446,22 @@ util.c:603:9: note: in expansion of macro 'DROP_ALL_PRIVS' 603 | DROP_ALL_PRIVS(uid, gid); | ^~~~~~~~~~~~~~ +cc -O2 -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -c -o search.o search.c util.c:609:17: warning: ignoring return value of 'fgets' declared with attribute 'warn_unused_result' [-Wunused-result] 609 | fgets (line, 600, file); | ^~~~~~~~~~~~~~~~~~~~~~~ util.c:610:17: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result] 610 | write (fd[1], line, strlen (line)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -In file included from search.c:18: -search.c: In function 'show_search': +In file included from main.c:20: privs.h:118:29: warning: ignoring return value of 'setreuid' declared with attribute 'warn_unused_result' [-Wunused-result] 118 | setreuid(real_uid, 0); \ | ^~~~~~~~~~~~~~~~~~~~~ privs.h:82:25: note: in expansion of macro 'USER_PRIVS' 82 | #define NOBODY_PRIVS USER_PRIVS (NOBODY_UID,NOBODY_GID) | ^~~~~~~~~~ -search.c:83:5: note: in expansion of macro 'NOBODY_PRIVS' - 83 | NOBODY_PRIVS; +main.c:109:5: note: in expansion of macro 'NOBODY_PRIVS' + 109 | NOBODY_PRIVS; | ^~~~~~~~~~~~ privs.h:119:29: warning: ignoring return value of 'setregid' declared with attribute 'warn_unused_result' [-Wunused-result] 119 | setregid(real_gid, 0); \ @@ -442,8 +469,8 @@ privs.h:82:25: note: in expansion of macro 'USER_PRIVS' 82 | #define NOBODY_PRIVS USER_PRIVS (NOBODY_UID,NOBODY_GID) | ^~~~~~~~~~ -search.c:83:5: note: in expansion of macro 'NOBODY_PRIVS' - 83 | NOBODY_PRIVS; +main.c:109:5: note: in expansion of macro 'NOBODY_PRIVS' + 109 | NOBODY_PRIVS; | ^~~~~~~~~~~~ privs.h:124:29: warning: ignoring return value of 'setregid' declared with attribute 'warn_unused_result' [-Wunused-result] 124 | setregid(real_gid, effective_gid); \ @@ -451,8 +478,8 @@ privs.h:82:25: note: in expansion of macro 'USER_PRIVS' 82 | #define NOBODY_PRIVS USER_PRIVS (NOBODY_UID,NOBODY_GID) | ^~~~~~~~~~ -search.c:83:5: note: in expansion of macro 'NOBODY_PRIVS' - 83 | NOBODY_PRIVS; +main.c:109:5: note: in expansion of macro 'NOBODY_PRIVS' + 109 | NOBODY_PRIVS; | ^~~~~~~~~~~~ privs.h:125:29: warning: ignoring return value of 'setreuid' declared with attribute 'warn_unused_result' [-Wunused-result] 125 | setreuid(real_uid, effective_uid); \ @@ -460,79 +487,63 @@ privs.h:82:25: note: in expansion of macro 'USER_PRIVS' 82 | #define NOBODY_PRIVS USER_PRIVS (NOBODY_UID,NOBODY_GID) | ^~~~~~~~~~ -search.c:83:5: note: in expansion of macro 'NOBODY_PRIVS' - 83 | NOBODY_PRIVS; +main.c:109:5: note: in expansion of macro 'NOBODY_PRIVS' + 109 | NOBODY_PRIVS; | ^~~~~~~~~~~~ -search.c:101:13: warning: ignoring return value of 'fgets' declared with attribute 'warn_unused_result' [-Wunused-result] - 101 | fgets(crappp, 300, file); - | ^~~~~~~~~~~~~~~~~~~~~~~~ -privs.h:118:29: warning: ignoring return value of 'setreuid' declared with attribute 'warn_unused_result' [-Wunused-result] - 118 | setreuid(real_uid, 0); \ - | ^~~~~~~~~~~~~~~~~~~~~ -search.c:149:17: note: in expansion of macro 'USER_PRIVS' - 149 | USER_PRIVS(Uid, Gid); - | ^~~~~~~~~~ -privs.h:119:29: warning: ignoring return value of 'setregid' declared with attribute 'warn_unused_result' [-Wunused-result] - 119 | setregid(real_gid, 0); \ - | ^~~~~~~~~~~~~~~~~~~~~ -search.c:149:17: note: in expansion of macro 'USER_PRIVS' - 149 | USER_PRIVS(Uid, Gid); - | ^~~~~~~~~~ -privs.h:124:29: warning: ignoring return value of 'setregid' declared with attribute 'warn_unused_result' [-Wunused-result] - 124 | setregid(real_gid, effective_gid); \ - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -search.c:149:17: note: in expansion of macro 'USER_PRIVS' - 149 | USER_PRIVS(Uid, Gid); - | ^~~~~~~~~~ -privs.h:125:29: warning: ignoring return value of 'setreuid' declared with attribute 'warn_unused_result' [-Wunused-result] - 125 | setreuid(real_uid, effective_uid); \ - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -search.c:149:17: note: in expansion of macro 'USER_PRIVS' - 149 | USER_PRIVS(Uid, Gid); - | ^~~~~~~~~~ -privs.h:118:29: warning: ignoring return value of 'setreuid' declared with attribute 'warn_unused_result' [-Wunused-result] - 118 | setreuid(real_uid, 0); \ - | ^~~~~~~~~~~~~~~~~~~~~ -privs.h:82:25: note: in expansion of macro 'USER_PRIVS' - 82 | #define NOBODY_PRIVS USER_PRIVS (NOBODY_UID,NOBODY_GID) - | ^~~~~~~~~~ -search.c:151:17: note: in expansion of macro 'NOBODY_PRIVS' - 151 | NOBODY_PRIVS; - | ^~~~~~~~~~~~ -privs.h:119:29: warning: ignoring return value of 'setregid' declared with attribute 'warn_unused_result' [-Wunused-result] - 119 | setregid(real_gid, 0); \ - | ^~~~~~~~~~~~~~~~~~~~~ -privs.h:82:25: note: in expansion of macro 'USER_PRIVS' - 82 | #define NOBODY_PRIVS USER_PRIVS (NOBODY_UID,NOBODY_GID) - | ^~~~~~~~~~ -search.c:151:17: note: in expansion of macro 'NOBODY_PRIVS' - 151 | NOBODY_PRIVS; - | ^~~~~~~~~~~~ -privs.h:124:29: warning: ignoring return value of 'setregid' declared with attribute 'warn_unused_result' [-Wunused-result] - 124 | setregid(real_gid, effective_gid); \ - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -privs.h:82:25: note: in expansion of macro 'USER_PRIVS' - 82 | #define NOBODY_PRIVS USER_PRIVS (NOBODY_UID,NOBODY_GID) - | ^~~~~~~~~~ -search.c:151:17: note: in expansion of macro 'NOBODY_PRIVS' - 151 | NOBODY_PRIVS; - | ^~~~~~~~~~~~ -privs.h:125:29: warning: ignoring return value of 'setreuid' declared with attribute 'warn_unused_result' [-Wunused-result] - 125 | setreuid(real_uid, effective_uid); \ - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -privs.h:82:25: note: in expansion of macro 'USER_PRIVS' - 82 | #define NOBODY_PRIVS USER_PRIVS (NOBODY_UID,NOBODY_GID) - | ^~~~~~~~~~ -search.c:151:17: note: in expansion of macro 'NOBODY_PRIVS' - 151 | NOBODY_PRIVS; - | ^~~~~~~~~~~~ -main.c: In function 'main': -main.c:114:27: warning: the comparison will always evaluate as 'true' for the address of 'remote_addr' will never be NULL [-Waddress] - 114 | if (remote_addr != NULL && *remote_addr) { - | ^~ -main.c:25:6: note: 'remote_addr' declared here - 25 | char remote_addr[INET6_ADDRSTRLEN] = ""; - | ^~~~~~~~~~~ +cc -O2 -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -c -o rfc1413.o rfc1413.c +cc -O2 -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -c -o wildmat.o wildmat.c +display.c: In function 'process_display': +display.c:95:17: warning: this 'if' clause does not guard... [-Wmisleading-indentation] + 95 | if ((x = index (pwent->pw_gecos, ',')) != NULL) /* username */ + | ^~ +display.c:97:21: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if' + 97 | if ((username = (char *)malloc (strlen(cp)+1)) != NULL) { + | ^~ +cc -O2 -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -c -o log.o log.c +initialize.c: In function 'initialize_userlist': +initialize.c:68:13: warning: '__builtin_strncpy' output may be truncated copying 2 bytes from a string of length 31 [-Wstringop-truncation] + 68 | strncpy(tty_list[times_on].tty, cp, ULIST_TTY); + | ^ +initialize.c:78:13: warning: '__builtin_strncpy' output may be truncated copying 16 bytes from a string of length 255 [-Wstringop-truncation] + 78 | strncpy(tty_list[times_on].locale, cp, ULIST_LOCALE); + | ^ +initialize.c:79:17: warning: 'strlen' argument 1 declared attribute 'nonstring' [-Wstringop-overread] + 79 | if (strlen ((char *) ut->ut_host) > ULIST_LINE) + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In file included from /usr/include/utmp.h:29, + from userlist.h:54, + from initialize.c:6: +/usr/include/x86_64-linux-gnu/bits/utmp.h:68:8: note: argument 'ut_host' declared here + 68 | char ut_host[UT_HOSTSIZE] + | ^~~~~~~ +main.c:92:13: warning: '__builtin_strncpy' specified bound 80 equals destination size [-Wstringop-truncation] + 92 | strncpy(username, argv[2], sizeof(username)); + | ^ +main.c:228:13: warning: '__builtin_strncpy' specified bound 46 equals destination size [-Wstringop-truncation] + 228 | strncpy(remote_addr, host_ent->h_name, INET6_ADDRSTRLEN); + | ^ +signal.c: In function 'start_handler': +signal.c:136:9: warning: iteration 23 invokes undefined behavior [-Waggressive-loop-optimizations] + 136 | signal(signals[i], int_handler); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +signal.c:135:19: note: within this loop + 135 | for (i = 0; i < sigs; i++) + | ~~^~~~~~ +standard.c: In function 'show_stuff': +standard.c:101:56: warning: format '%d' expects argument of type 'int', but argument 4 has type 'size_t' {aka 'long unsigned int'} [-Wformat=] + 101 | snprintf(formatter, sizeof(formatter), "%%s%%-%d.%ds", (36 - strlen(prog_config.p_strings[t2])), + | ~^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + | | | + | int size_t {aka long unsigned int} + | %ld +standard.c: In function 'show_lasttime_on': +standard.c:248:10: warning: variable 'found' set but not used [-Wunused-but-set-variable] + 248 | BOOL found = FALSE, can_show_orig = FALSE; + | ^~~~~ +fakeuser.c: In function 'search_fake_pos': +fakeuser.c:44:12: warning: variable 'len' set but not used [-Wunused-but-set-variable] + 44 | int i, len; + | ^~~ configure.c: In function 'do_files': configure.c:194:9: warning: ignoring return value of 'fscanf' declared with attribute 'warn_unused_result' [-Wunused-result] 194 | fscanf(file, "%[^\r\n]\r\n", line); @@ -566,9 +577,6 @@ configure.c:363:9: warning: ignoring return value of 'fscanf' declared with attribute 'warn_unused_result' [-Wunused-result] 363 | fscanf(file, "%[^\r\n]\r\n", line); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -main.c:257:39: warning: argument to 'sizeof' in 'memset' call is the same expression as the destination; did you mean to provide an explicit length? [-Wsizeof-pointer-memaccess] - 257 | memset (ident_user, 0, sizeof (ident_user)); - | ^ configure.c: In function 'do_config': configure.c:425:9: warning: ignoring return value of 'fgets' declared with attribute 'warn_unused_result' [-Wunused-result] 425 | fgets(line, 80, file); @@ -601,65 +609,11 @@ configure.c:704:17: warning: ignoring return value of 'fgets' declared with attribute 'warn_unused_result' [-Wunused-result] 704 | fgets(line, 80, file); | ^~~~~~~~~~~~~~~~~~~~~ -In file included from main.c:20: -privs.h:118:29: warning: ignoring return value of 'setreuid' declared with attribute 'warn_unused_result' [-Wunused-result] - 118 | setreuid(real_uid, 0); \ - | ^~~~~~~~~~~~~~~~~~~~~ -privs.h:82:25: note: in expansion of macro 'USER_PRIVS' - 82 | #define NOBODY_PRIVS USER_PRIVS (NOBODY_UID,NOBODY_GID) - | ^~~~~~~~~~ -main.c:109:5: note: in expansion of macro 'NOBODY_PRIVS' - 109 | NOBODY_PRIVS; - | ^~~~~~~~~~~~ -privs.h:119:29: warning: ignoring return value of 'setregid' declared with attribute 'warn_unused_result' [-Wunused-result] - 119 | setregid(real_gid, 0); \ - | ^~~~~~~~~~~~~~~~~~~~~ -privs.h:82:25: note: in expansion of macro 'USER_PRIVS' - 82 | #define NOBODY_PRIVS USER_PRIVS (NOBODY_UID,NOBODY_GID) - | ^~~~~~~~~~ -main.c:109:5: note: in expansion of macro 'NOBODY_PRIVS' - 109 | NOBODY_PRIVS; - | ^~~~~~~~~~~~ -privs.h:124:29: warning: ignoring return value of 'setregid' declared with attribute 'warn_unused_result' [-Wunused-result] - 124 | setregid(real_gid, effective_gid); \ - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -privs.h:82:25: note: in expansion of macro 'USER_PRIVS' - 82 | #define NOBODY_PRIVS USER_PRIVS (NOBODY_UID,NOBODY_GID) - | ^~~~~~~~~~ -main.c:109:5: note: in expansion of macro 'NOBODY_PRIVS' - 109 | NOBODY_PRIVS; - | ^~~~~~~~~~~~ configure.c:713:17: warning: ignoring return value of 'fgets' declared with attribute 'warn_unused_result' [-Wunused-result] 713 | fgets(line, 80, file); | ^~~~~~~~~~~~~~~~~~~~~ -privs.h:125:29: warning: ignoring return value of 'setreuid' declared with attribute 'warn_unused_result' [-Wunused-result] - 125 | setreuid(real_uid, effective_uid); \ - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -privs.h:82:25: note: in expansion of macro 'USER_PRIVS' - 82 | #define NOBODY_PRIVS USER_PRIVS (NOBODY_UID,NOBODY_GID) - | ^~~~~~~~~~ -main.c:109:5: note: in expansion of macro 'NOBODY_PRIVS' - 109 | NOBODY_PRIVS; - | ^~~~~~~~~~~~ -standard.c: In function 'show_stuff': -standard.c:101:56: warning: format '%d' expects argument of type 'int', but argument 4 has type 'size_t' {aka 'long unsigned int'} [-Wformat=] - 101 | snprintf(formatter, sizeof(formatter), "%%s%%-%d.%ds", (36 - strlen(prog_config.p_strings[t2])), - | ~^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - | | | - | int size_t {aka long unsigned int} - | %ld -rfc1413.c: In function 'get_rfc1413_data': -rfc1413.c:106:5: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result] - 106 | write(j, buffer, strlen(buffer)); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -standard.c: In function 'show_lasttime_on': -standard.c:248:10: warning: variable 'found' set but not used [-Wunused-but-set-variable] - 248 | BOOL found = FALSE, can_show_orig = FALSE; - | ^~~~~ -fakeuser.c: In function 'search_fake_pos': -fakeuser.c:44:12: warning: variable 'len' set but not used [-Wunused-but-set-variable] - 44 | int i, len; - | ^~~ +In file included from standard.c:27: +standard.c: In function 'show_pfile': In file included from userlist.c:18: userlist.c: In function 'handle_userlist': privs.h:118:29: warning: ignoring return value of 'setreuid' declared with attribute 'warn_unused_result' [-Wunused-result] @@ -698,130 +652,6 @@ userlist.c:51:9: note: in expansion of macro 'NOBODY_PRIVS' 51 | NOBODY_PRIVS; | ^~~~~~~~~~~~ -In file included from log.c:18: -log.c: In function 'userlog': -privs.h:118:29: warning: ignoring return value of 'setreuid' declared with attribute 'warn_unused_result' [-Wunused-result] - 118 | setreuid(real_uid, 0); \ - | ^~~~~~~~~~~~~~~~~~~~~ -log.c:54:5: note: in expansion of macro 'USER_PRIVS' - 54 | USER_PRIVS(uid,gid) - | ^~~~~~~~~~ -privs.h:119:29: warning: ignoring return value of 'setregid' declared with attribute 'warn_unused_result' [-Wunused-result] - 119 | setregid(real_gid, 0); \ - | ^~~~~~~~~~~~~~~~~~~~~ -log.c:54:5: note: in expansion of macro 'USER_PRIVS' - 54 | USER_PRIVS(uid,gid) - | ^~~~~~~~~~ -privs.h:124:29: warning: ignoring return value of 'setregid' declared with attribute 'warn_unused_result' [-Wunused-result] - 124 | setregid(real_gid, effective_gid); \ - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -log.c:54:5: note: in expansion of macro 'USER_PRIVS' - 54 | USER_PRIVS(uid,gid) - | ^~~~~~~~~~ -privs.h:125:29: warning: ignoring return value of 'setreuid' declared with attribute 'warn_unused_result' [-Wunused-result] - 125 | setreuid(real_uid, effective_uid); \ - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -log.c:54:5: note: in expansion of macro 'USER_PRIVS' - 54 | USER_PRIVS(uid,gid) - | ^~~~~~~~~~ -privs.h:118:29: warning: ignoring return value of 'setreuid' declared with attribute 'warn_unused_result' [-Wunused-result] - 118 | setreuid(real_uid, 0); \ - | ^~~~~~~~~~~~~~~~~~~~~ -privs.h:82:25: note: in expansion of macro 'USER_PRIVS' - 82 | #define NOBODY_PRIVS USER_PRIVS (NOBODY_UID,NOBODY_GID) - | ^~~~~~~~~~ -log.c:67:5: note: in expansion of macro 'NOBODY_PRIVS' - 67 | NOBODY_PRIVS - | ^~~~~~~~~~~~ -privs.h:119:29: warning: ignoring return value of 'setregid' declared with attribute 'warn_unused_result' [-Wunused-result] - 119 | setregid(real_gid, 0); \ - | ^~~~~~~~~~~~~~~~~~~~~ -privs.h:82:25: note: in expansion of macro 'USER_PRIVS' - 82 | #define NOBODY_PRIVS USER_PRIVS (NOBODY_UID,NOBODY_GID) - | ^~~~~~~~~~ -log.c:67:5: note: in expansion of macro 'NOBODY_PRIVS' - 67 | NOBODY_PRIVS - | ^~~~~~~~~~~~ -privs.h:124:29: warning: ignoring return value of 'setregid' declared with attribute 'warn_unused_result' [-Wunused-result] - 124 | setregid(real_gid, effective_gid); \ - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -privs.h:82:25: note: in expansion of macro 'USER_PRIVS' - 82 | #define NOBODY_PRIVS USER_PRIVS (NOBODY_UID,NOBODY_GID) - | ^~~~~~~~~~ -log.c:67:5: note: in expansion of macro 'NOBODY_PRIVS' - 67 | NOBODY_PRIVS - | ^~~~~~~~~~~~ -privs.h:125:29: warning: ignoring return value of 'setreuid' declared with attribute 'warn_unused_result' [-Wunused-result] - 125 | setreuid(real_uid, effective_uid); \ - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -privs.h:82:25: note: in expansion of macro 'USER_PRIVS' - 82 | #define NOBODY_PRIVS USER_PRIVS (NOBODY_UID,NOBODY_GID) - | ^~~~~~~~~~ -log.c:67:5: note: in expansion of macro 'NOBODY_PRIVS' - 67 | NOBODY_PRIVS - | ^~~~~~~~~~~~ -privs.h:118:29: warning: ignoring return value of 'setreuid' declared with attribute 'warn_unused_result' [-Wunused-result] - 118 | setreuid(real_uid, 0); \ - | ^~~~~~~~~~~~~~~~~~~~~ -log.c:72:9: note: in expansion of macro 'USER_PRIVS' - 72 | USER_PRIVS(uid,gid) - | ^~~~~~~~~~ -privs.h:119:29: warning: ignoring return value of 'setregid' declared with attribute 'warn_unused_result' [-Wunused-result] - 119 | setregid(real_gid, 0); \ - | ^~~~~~~~~~~~~~~~~~~~~ -log.c:72:9: note: in expansion of macro 'USER_PRIVS' - 72 | USER_PRIVS(uid,gid) - | ^~~~~~~~~~ -privs.h:124:29: warning: ignoring return value of 'setregid' declared with attribute 'warn_unused_result' [-Wunused-result] - 124 | setregid(real_gid, effective_gid); \ - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -log.c:72:9: note: in expansion of macro 'USER_PRIVS' - 72 | USER_PRIVS(uid,gid) - | ^~~~~~~~~~ -privs.h:125:29: warning: ignoring return value of 'setreuid' declared with attribute 'warn_unused_result' [-Wunused-result] - 125 | setreuid(real_uid, effective_uid); \ - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -log.c:72:9: note: in expansion of macro 'USER_PRIVS' - 72 | USER_PRIVS(uid,gid) - | ^~~~~~~~~~ -privs.h:118:29: warning: ignoring return value of 'setreuid' declared with attribute 'warn_unused_result' [-Wunused-result] - 118 | setreuid(real_uid, 0); \ - | ^~~~~~~~~~~~~~~~~~~~~ -privs.h:82:25: note: in expansion of macro 'USER_PRIVS' - 82 | #define NOBODY_PRIVS USER_PRIVS (NOBODY_UID,NOBODY_GID) - | ^~~~~~~~~~ -log.c:78:9: note: in expansion of macro 'NOBODY_PRIVS' - 78 | NOBODY_PRIVS - | ^~~~~~~~~~~~ -privs.h:119:29: warning: ignoring return value of 'setregid' declared with attribute 'warn_unused_result' [-Wunused-result] - 119 | setregid(real_gid, 0); \ - | ^~~~~~~~~~~~~~~~~~~~~ -privs.h:82:25: note: in expansion of macro 'USER_PRIVS' - 82 | #define NOBODY_PRIVS USER_PRIVS (NOBODY_UID,NOBODY_GID) - | ^~~~~~~~~~ -log.c:78:9: note: in expansion of macro 'NOBODY_PRIVS' - 78 | NOBODY_PRIVS - | ^~~~~~~~~~~~ -privs.h:124:29: warning: ignoring return value of 'setregid' declared with attribute 'warn_unused_result' [-Wunused-result] - 124 | setregid(real_gid, effective_gid); \ - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -privs.h:82:25: note: in expansion of macro 'USER_PRIVS' - 82 | #define NOBODY_PRIVS USER_PRIVS (NOBODY_UID,NOBODY_GID) - | ^~~~~~~~~~ -log.c:78:9: note: in expansion of macro 'NOBODY_PRIVS' - 78 | NOBODY_PRIVS - | ^~~~~~~~~~~~ -privs.h:125:29: warning: ignoring return value of 'setreuid' declared with attribute 'warn_unused_result' [-Wunused-result] - 125 | setreuid(real_uid, effective_uid); \ - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -privs.h:82:25: note: in expansion of macro 'USER_PRIVS' - 82 | #define NOBODY_PRIVS USER_PRIVS (NOBODY_UID,NOBODY_GID) - | ^~~~~~~~~~ -log.c:78:9: note: in expansion of macro 'NOBODY_PRIVS' - 78 | NOBODY_PRIVS - | ^~~~~~~~~~~~ -In file included from standard.c:27: -standard.c: In function 'show_pfile': privs.h:118:29: warning: ignoring return value of 'setreuid' declared with attribute 'warn_unused_result' [-Wunused-result] 118 | setreuid(real_uid, 0); \ | ^~~~~~~~~~~~~~~~~~~~~ @@ -991,6 +821,17 @@ standard.c:215:9: note: in expansion of macro 'USER_PRIVS' 215 | USER_PRIVS(uid, gid); | ^~~~~~~~~~ +In file included from search.c:18: +search.c: In function 'show_search': +privs.h:118:29: warning: ignoring return value of 'setreuid' declared with attribute 'warn_unused_result' [-Wunused-result] + 118 | setreuid(real_uid, 0); \ + | ^~~~~~~~~~~~~~~~~~~~~ +privs.h:82:25: note: in expansion of macro 'USER_PRIVS' + 82 | #define NOBODY_PRIVS USER_PRIVS (NOBODY_UID,NOBODY_GID) + | ^~~~~~~~~~ +search.c:83:5: note: in expansion of macro 'NOBODY_PRIVS' + 83 | NOBODY_PRIVS; + | ^~~~~~~~~~~~ privs.h:124:29: warning: ignoring return value of 'setregid' declared with attribute 'warn_unused_result' [-Wunused-result] 124 | setregid(real_gid, effective_gid); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1114,9 +955,81 @@ privs.h:82:25: note: in expansion of macro 'USER_PRIVS' 82 | #define NOBODY_PRIVS USER_PRIVS (NOBODY_UID,NOBODY_GID) | ^~~~~~~~~~ +search.c:83:5: note: in expansion of macro 'NOBODY_PRIVS' + 83 | NOBODY_PRIVS; + | ^~~~~~~~~~~~ +privs.h:124:29: warning: ignoring return value of 'setregid' declared with attribute 'warn_unused_result' [-Wunused-result] + 124 | setregid(real_gid, effective_gid); \ + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +privs.h:82:25: note: in expansion of macro 'USER_PRIVS' + 82 | #define NOBODY_PRIVS USER_PRIVS (NOBODY_UID,NOBODY_GID) + | ^~~~~~~~~~ +search.c:83:5: note: in expansion of macro 'NOBODY_PRIVS' + 83 | NOBODY_PRIVS; + | ^~~~~~~~~~~~ +privs.h:125:29: warning: ignoring return value of 'setreuid' declared with attribute 'warn_unused_result' [-Wunused-result] + 125 | setreuid(real_uid, effective_uid); \ + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +privs.h:82:25: note: in expansion of macro 'USER_PRIVS' + 82 | #define NOBODY_PRIVS USER_PRIVS (NOBODY_UID,NOBODY_GID) + | ^~~~~~~~~~ +search.c:83:5: note: in expansion of macro 'NOBODY_PRIVS' + 83 | NOBODY_PRIVS; + | ^~~~~~~~~~~~ +search.c:101:13: warning: ignoring return value of 'fgets' declared with attribute 'warn_unused_result' [-Wunused-result] + 101 | fgets(crappp, 300, file); + | ^~~~~~~~~~~~~~~~~~~~~~~~ +privs.h:118:29: warning: ignoring return value of 'setreuid' declared with attribute 'warn_unused_result' [-Wunused-result] + 118 | setreuid(real_uid, 0); \ + | ^~~~~~~~~~~~~~~~~~~~~ +search.c:149:17: note: in expansion of macro 'USER_PRIVS' + 149 | USER_PRIVS(Uid, Gid); + | ^~~~~~~~~~ +privs.h:119:29: warning: ignoring return value of 'setregid' declared with attribute 'warn_unused_result' [-Wunused-result] + 119 | setregid(real_gid, 0); \ + | ^~~~~~~~~~~~~~~~~~~~~ +search.c:149:17: note: in expansion of macro 'USER_PRIVS' + 149 | USER_PRIVS(Uid, Gid); + | ^~~~~~~~~~ +privs.h:124:29: warning: ignoring return value of 'setregid' declared with attribute 'warn_unused_result' [-Wunused-result] + 124 | setregid(real_gid, effective_gid); \ + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +search.c:149:17: note: in expansion of macro 'USER_PRIVS' + 149 | USER_PRIVS(Uid, Gid); + | ^~~~~~~~~~ +privs.h:125:29: warning: ignoring return value of 'setreuid' declared with attribute 'warn_unused_result' [-Wunused-result] + 125 | setreuid(real_uid, effective_uid); \ + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +search.c:149:17: note: in expansion of macro 'USER_PRIVS' + 149 | USER_PRIVS(Uid, Gid); + | ^~~~~~~~~~ +privs.h:119:29: warning: ignoring return value of 'setregid' declared with attribute 'warn_unused_result' [-Wunused-result] + 119 | setregid(real_gid, 0); \ + | ^~~~~~~~~~~~~~~~~~~~~ +privs.h:82:25: note: in expansion of macro 'USER_PRIVS' + 82 | #define NOBODY_PRIVS USER_PRIVS (NOBODY_UID,NOBODY_GID) + | ^~~~~~~~~~ standard.c:230:13: note: in expansion of macro 'NOBODY_PRIVS' 230 | NOBODY_PRIVS; | ^~~~~~~~~~~~ +privs.h:118:29: warning: ignoring return value of 'setreuid' declared with attribute 'warn_unused_result' [-Wunused-result] + 118 | setreuid(real_uid, 0); \ + | ^~~~~~~~~~~~~~~~~~~~~ +privs.h:82:25: note: in expansion of macro 'USER_PRIVS' + 82 | #define NOBODY_PRIVS USER_PRIVS (NOBODY_UID,NOBODY_GID) + | ^~~~~~~~~~ +search.c:151:17: note: in expansion of macro 'NOBODY_PRIVS' + 151 | NOBODY_PRIVS; + | ^~~~~~~~~~~~ +privs.h:119:29: warning: ignoring return value of 'setregid' declared with attribute 'warn_unused_result' [-Wunused-result] + 119 | setregid(real_gid, 0); \ + | ^~~~~~~~~~~~~~~~~~~~~ +privs.h:82:25: note: in expansion of macro 'USER_PRIVS' + 82 | #define NOBODY_PRIVS USER_PRIVS (NOBODY_UID,NOBODY_GID) + | ^~~~~~~~~~ +search.c:151:17: note: in expansion of macro 'NOBODY_PRIVS' + 151 | NOBODY_PRIVS; + | ^~~~~~~~~~~~ privs.h:124:29: warning: ignoring return value of 'setregid' declared with attribute 'warn_unused_result' [-Wunused-result] 124 | setregid(real_gid, effective_gid); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1126,6 +1039,24 @@ standard.c:230:13: note: in expansion of macro 'NOBODY_PRIVS' 230 | NOBODY_PRIVS; | ^~~~~~~~~~~~ +privs.h:124:29: warning: ignoring return value of 'setregid' declared with attribute 'warn_unused_result' [-Wunused-result] + 124 | setregid(real_gid, effective_gid); \ + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +privs.h:82:25: note: in expansion of macro 'USER_PRIVS' + 82 | #define NOBODY_PRIVS USER_PRIVS (NOBODY_UID,NOBODY_GID) + | ^~~~~~~~~~ +search.c:151:17: note: in expansion of macro 'NOBODY_PRIVS' + 151 | NOBODY_PRIVS; + | ^~~~~~~~~~~~ +privs.h:125:29: warning: ignoring return value of 'setreuid' declared with attribute 'warn_unused_result' [-Wunused-result] + 125 | setreuid(real_uid, effective_uid); \ + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +privs.h:82:25: note: in expansion of macro 'USER_PRIVS' + 82 | #define NOBODY_PRIVS USER_PRIVS (NOBODY_UID,NOBODY_GID) + | ^~~~~~~~~~ +search.c:151:17: note: in expansion of macro 'NOBODY_PRIVS' + 151 | NOBODY_PRIVS; + | ^~~~~~~~~~~~ privs.h:125:29: warning: ignoring return value of 'setreuid' declared with attribute 'warn_unused_result' [-Wunused-result] 125 | setreuid(real_uid, effective_uid); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1261,10 +1192,6 @@ standard.c:391:9: note: in expansion of macro 'NOBODY_PRIVS' 391 | NOBODY_PRIVS; | ^~~~~~~~~~~~ -initialize.c: In function 'initialize_userlist': -initialize.c:68:13: warning: '__builtin_strncpy' output may be truncated copying 2 bytes from a string of length 31 [-Wstringop-truncation] - 68 | strncpy(tty_list[times_on].tty, cp, ULIST_TTY); - | ^ privs.h:125:29: warning: ignoring return value of 'setreuid' declared with attribute 'warn_unused_result' [-Wunused-result] 125 | setreuid(real_uid, effective_uid); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1274,9 +1201,6 @@ standard.c:391:9: note: in expansion of macro 'NOBODY_PRIVS' 391 | NOBODY_PRIVS; | ^~~~~~~~~~~~ -initialize.c:78:13: warning: '__builtin_strncpy' output may be truncated copying 16 bytes from a string of length 255 [-Wstringop-truncation] - 78 | strncpy(tty_list[times_on].locale, cp, ULIST_LOCALE); - | ^ privs.h:118:29: warning: ignoring return value of 'setreuid' declared with attribute 'warn_unused_result' [-Wunused-result] 118 | setreuid(real_uid, 0); \ | ^~~~~~~~~~~~~~~~~~~~~ @@ -1313,6 +1237,10 @@ standard.c:394:5: note: in expansion of macro 'NOBODY_PRIVS' 394 | NOBODY_PRIVS; | ^~~~~~~~~~~~ +rfc1413.c: In function 'get_rfc1413_data': +rfc1413.c:106:5: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result] + 106 | write(j, buffer, strlen(buffer)); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ standard.c: In function 'show_times_on': privs.h:118:29: warning: ignoring return value of 'setreuid' declared with attribute 'warn_unused_result' [-Wunused-result] 118 | setreuid(real_uid, 0); \ @@ -1332,15 +1260,6 @@ standard.c:470:5: note: in expansion of macro 'NOBODY_PRIVS' 470 | NOBODY_PRIVS; | ^~~~~~~~~~~~ -initialize.c:79:17: warning: 'strlen' argument 1 declared attribute 'nonstring' [-Wstringop-overread] - 79 | if (strlen ((char *) ut->ut_host) > ULIST_LINE) - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -In file included from /usr/include/utmp.h:29, - from userlist.h:54, - from initialize.c:6: -/usr/include/x86_64-linux-gnu/bits/utmp.h:68:8: note: argument 'ut_host' declared here - 68 | char ut_host[UT_HOSTSIZE] - | ^~~~~~~ privs.h:124:29: warning: ignoring return value of 'setregid' declared with attribute 'warn_unused_result' [-Wunused-result] 124 | setregid(real_gid, effective_gid); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1454,6 +1373,7 @@ standard.c:652:9: note: in expansion of macro 'NOBODY_PRIVS' 652 | NOBODY_PRIVS; | ^~~~~~~~~~~~ +cc -o userlist main.o initialize.o display.o options.o idle.o ../src/getutent.o privs.h:119:29: warning: ignoring return value of 'setregid' declared with attribute 'warn_unused_result' [-Wunused-result] 119 | setregid(real_gid, 0); \ | ^~~~~~~~~~~~~~~~~~~~~ @@ -1747,21 +1667,6 @@ standard.c:932:5: note: in expansion of macro 'USER_PRIVS' 932 | USER_PRIVS(nuid, ngid); | ^~~~~~~~~~ -search.c:141:37: warning: '%s' directive writing up to 98 bytes into a region of size between 20 and 99 [-Wformat-overflow=] - 141 | sprintf(fn, "%s/%s", homedir, prog_config.no_finger_file); - | ^~ -In file included from /usr/include/stdio.h:970, - from cfingerd.h:19, - from search.c:16: -In function 'sprintf', - inlined from 'show_search' at search.c:141:7: -/usr/include/x86_64-linux-gnu/bits/stdio2.h:30:10: note: '__builtin___sprintf_chk' output between 2 and 179 bytes into a destination of size 100 - 30 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1, - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 31 | __glibc_objsize (__s), __fmt, - | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 32 | __va_arg_pack ()); - | ~~~~~~~~~~~~~~~~~ privs.h:118:29: warning: ignoring return value of 'setreuid' declared with attribute 'warn_unused_result' [-Wunused-result] 118 | setreuid(real_uid, 0); \ | ^~~~~~~~~~~~~~~~~~~~~ @@ -1816,6 +1721,21 @@ standard.c:937:9: note: in expansion of macro 'NOBODY_PRIVS' 937 | NOBODY_PRIVS; | ^~~~~~~~~~~~ +search.c:141:37: warning: '%s' directive writing up to 98 bytes into a region of size between 20 and 99 [-Wformat-overflow=] + 141 | sprintf(fn, "%s/%s", homedir, prog_config.no_finger_file); + | ^~ +In file included from /usr/include/stdio.h:970, + from cfingerd.h:19, + from search.c:16: +In function 'sprintf', + inlined from 'show_search' at search.c:141:7: +/usr/include/x86_64-linux-gnu/bits/stdio2.h:30:10: note: '__builtin___sprintf_chk' output between 2 and 179 bytes into a destination of size 100 + 30 | return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1, + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 31 | __glibc_objsize (__s), __fmt, + | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + 32 | __va_arg_pack ()); + | ~~~~~~~~~~~~~~~~~ privs.h:124:29: warning: ignoring return value of 'setregid' declared with attribute 'warn_unused_result' [-Wunused-result] 124 | setregid(real_gid, effective_gid); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1834,13 +1754,128 @@ standard.c:937:9: note: in expansion of macro 'NOBODY_PRIVS' 937 | NOBODY_PRIVS; | ^~~~~~~~~~~~ -cc -o userlist main.o initialize.o display.o options.o idle.o ../src/getutent.o -main.c:92:13: warning: '__builtin_strncpy' specified bound 80 equals destination size [-Wstringop-truncation] - 92 | strncpy(username, argv[2], sizeof(username)); - | ^ -main.c:228:13: warning: '__builtin_strncpy' specified bound 46 equals destination size [-Wstringop-truncation] - 228 | strncpy(remote_addr, host_ent->h_name, INET6_ADDRSTRLEN); - | ^ +In file included from log.c:18: +log.c: In function 'userlog': +privs.h:118:29: warning: ignoring return value of 'setreuid' declared with attribute 'warn_unused_result' [-Wunused-result] + 118 | setreuid(real_uid, 0); \ + | ^~~~~~~~~~~~~~~~~~~~~ +log.c:54:5: note: in expansion of macro 'USER_PRIVS' + 54 | USER_PRIVS(uid,gid) + | ^~~~~~~~~~ +privs.h:119:29: warning: ignoring return value of 'setregid' declared with attribute 'warn_unused_result' [-Wunused-result] + 119 | setregid(real_gid, 0); \ + | ^~~~~~~~~~~~~~~~~~~~~ +log.c:54:5: note: in expansion of macro 'USER_PRIVS' + 54 | USER_PRIVS(uid,gid) + | ^~~~~~~~~~ +privs.h:124:29: warning: ignoring return value of 'setregid' declared with attribute 'warn_unused_result' [-Wunused-result] + 124 | setregid(real_gid, effective_gid); \ + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +log.c:54:5: note: in expansion of macro 'USER_PRIVS' + 54 | USER_PRIVS(uid,gid) + | ^~~~~~~~~~ +privs.h:125:29: warning: ignoring return value of 'setreuid' declared with attribute 'warn_unused_result' [-Wunused-result] + 125 | setreuid(real_uid, effective_uid); \ + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +log.c:54:5: note: in expansion of macro 'USER_PRIVS' + 54 | USER_PRIVS(uid,gid) + | ^~~~~~~~~~ +privs.h:118:29: warning: ignoring return value of 'setreuid' declared with attribute 'warn_unused_result' [-Wunused-result] + 118 | setreuid(real_uid, 0); \ + | ^~~~~~~~~~~~~~~~~~~~~ +privs.h:82:25: note: in expansion of macro 'USER_PRIVS' + 82 | #define NOBODY_PRIVS USER_PRIVS (NOBODY_UID,NOBODY_GID) + | ^~~~~~~~~~ +log.c:67:5: note: in expansion of macro 'NOBODY_PRIVS' + 67 | NOBODY_PRIVS + | ^~~~~~~~~~~~ +privs.h:119:29: warning: ignoring return value of 'setregid' declared with attribute 'warn_unused_result' [-Wunused-result] + 119 | setregid(real_gid, 0); \ + | ^~~~~~~~~~~~~~~~~~~~~ +privs.h:82:25: note: in expansion of macro 'USER_PRIVS' + 82 | #define NOBODY_PRIVS USER_PRIVS (NOBODY_UID,NOBODY_GID) + | ^~~~~~~~~~ +log.c:67:5: note: in expansion of macro 'NOBODY_PRIVS' + 67 | NOBODY_PRIVS + | ^~~~~~~~~~~~ +privs.h:124:29: warning: ignoring return value of 'setregid' declared with attribute 'warn_unused_result' [-Wunused-result] + 124 | setregid(real_gid, effective_gid); \ + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +privs.h:82:25: note: in expansion of macro 'USER_PRIVS' + 82 | #define NOBODY_PRIVS USER_PRIVS (NOBODY_UID,NOBODY_GID) + | ^~~~~~~~~~ +log.c:67:5: note: in expansion of macro 'NOBODY_PRIVS' + 67 | NOBODY_PRIVS + | ^~~~~~~~~~~~ +privs.h:125:29: warning: ignoring return value of 'setreuid' declared with attribute 'warn_unused_result' [-Wunused-result] + 125 | setreuid(real_uid, effective_uid); \ + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +privs.h:82:25: note: in expansion of macro 'USER_PRIVS' + 82 | #define NOBODY_PRIVS USER_PRIVS (NOBODY_UID,NOBODY_GID) + | ^~~~~~~~~~ +log.c:67:5: note: in expansion of macro 'NOBODY_PRIVS' + 67 | NOBODY_PRIVS + | ^~~~~~~~~~~~ +privs.h:118:29: warning: ignoring return value of 'setreuid' declared with attribute 'warn_unused_result' [-Wunused-result] + 118 | setreuid(real_uid, 0); \ + | ^~~~~~~~~~~~~~~~~~~~~ +log.c:72:9: note: in expansion of macro 'USER_PRIVS' + 72 | USER_PRIVS(uid,gid) + | ^~~~~~~~~~ +privs.h:119:29: warning: ignoring return value of 'setregid' declared with attribute 'warn_unused_result' [-Wunused-result] + 119 | setregid(real_gid, 0); \ + | ^~~~~~~~~~~~~~~~~~~~~ +log.c:72:9: note: in expansion of macro 'USER_PRIVS' + 72 | USER_PRIVS(uid,gid) + | ^~~~~~~~~~ +privs.h:124:29: warning: ignoring return value of 'setregid' declared with attribute 'warn_unused_result' [-Wunused-result] + 124 | setregid(real_gid, effective_gid); \ + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +log.c:72:9: note: in expansion of macro 'USER_PRIVS' + 72 | USER_PRIVS(uid,gid) + | ^~~~~~~~~~ +privs.h:125:29: warning: ignoring return value of 'setreuid' declared with attribute 'warn_unused_result' [-Wunused-result] + 125 | setreuid(real_uid, effective_uid); \ + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +log.c:72:9: note: in expansion of macro 'USER_PRIVS' + 72 | USER_PRIVS(uid,gid) + | ^~~~~~~~~~ +privs.h:118:29: warning: ignoring return value of 'setreuid' declared with attribute 'warn_unused_result' [-Wunused-result] + 118 | setreuid(real_uid, 0); \ + | ^~~~~~~~~~~~~~~~~~~~~ +privs.h:82:25: note: in expansion of macro 'USER_PRIVS' + 82 | #define NOBODY_PRIVS USER_PRIVS (NOBODY_UID,NOBODY_GID) + | ^~~~~~~~~~ +log.c:78:9: note: in expansion of macro 'NOBODY_PRIVS' + 78 | NOBODY_PRIVS + | ^~~~~~~~~~~~ +privs.h:119:29: warning: ignoring return value of 'setregid' declared with attribute 'warn_unused_result' [-Wunused-result] + 119 | setregid(real_gid, 0); \ + | ^~~~~~~~~~~~~~~~~~~~~ +privs.h:82:25: note: in expansion of macro 'USER_PRIVS' + 82 | #define NOBODY_PRIVS USER_PRIVS (NOBODY_UID,NOBODY_GID) + | ^~~~~~~~~~ +log.c:78:9: note: in expansion of macro 'NOBODY_PRIVS' + 78 | NOBODY_PRIVS + | ^~~~~~~~~~~~ +privs.h:124:29: warning: ignoring return value of 'setregid' declared with attribute 'warn_unused_result' [-Wunused-result] + 124 | setregid(real_gid, effective_gid); \ + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +privs.h:82:25: note: in expansion of macro 'USER_PRIVS' + 82 | #define NOBODY_PRIVS USER_PRIVS (NOBODY_UID,NOBODY_GID) + | ^~~~~~~~~~ +log.c:78:9: note: in expansion of macro 'NOBODY_PRIVS' + 78 | NOBODY_PRIVS + | ^~~~~~~~~~~~ +privs.h:125:29: warning: ignoring return value of 'setreuid' declared with attribute 'warn_unused_result' [-Wunused-result] + 125 | setreuid(real_uid, effective_uid); \ + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +privs.h:82:25: note: in expansion of macro 'USER_PRIVS' + 82 | #define NOBODY_PRIVS USER_PRIVS (NOBODY_UID,NOBODY_GID) + | ^~~~~~~~~~ +log.c:78:9: note: in expansion of macro 'NOBODY_PRIVS' + 78 | NOBODY_PRIVS + | ^~~~~~~~~~~~ make[2]: Leaving directory '/build/reproducible-path/cfingerd-1.4.3/userlist' In file included from /usr/include/string.h:548, from cfingerd.h:22, @@ -1964,12 +1999,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/1130188/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/1130188/tmp/hooks/B01_cleanup finished I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env -I: removing directory /srv/workspace/pbuilder/786431 and its subdirectories -I: Current time: Tue Apr 7 05:02:47 -12 2026 -I: pbuilder-time-stamp: 1775581367 +I: removing directory /srv/workspace/pbuilder/1130188 and its subdirectories +I: Current time: Thu Mar 6 00:41:30 +14 2025 +I: pbuilder-time-stamp: 1741171290