Bug#1018061: pads: segfault at 3a ip
Hi Benhard,
Okay patch installed, the output is in the attached file.
I was already on 1.2-14 so we'll see if the patch helped or if it was
needed by me.
--
Tim McConnell <tmcconnell168@gmail.com>
On Wed, 2023-03-15 at 12:10 +0100, Bernhard Übelacker wrote:
> Am 26.02.23 um 16:47 schrieb Tim McConnell:
>
> > Hi Bernhard,
> > The delay is fine, I'm sure it takes a minute to figure it out ;-)
> > and
> > no I didn't have anything other than defaults for GDB set. I'm not
> > a
> > programmer so I don't know all the tricks to GDB or when is best
> > to
> > use them. With that said, how would I go about installing /testing
> > the
> > patch you provide? I'm happy to test it out for you, I just need
> > the
> > knowledge of how to.
> > Thanks!
> >
>
>
> Hello Tim,
> if you are fine with installing a bunch of build dependencies
> you could use following steps to rebuild the package with the patch.
>
> As root:
> # apt build-dep pads
>
> As user:
> $ mkdir -p source/pads
>
> Put attached patch to the new directory and continue as user:
> $ cd source/pads
> $ apt source pads
> $ cd pads-1.2/
> $ patch -p1 < ../pads_print_arp_asset_initialize.patch
> $ dpkg-buildpackage -b
>
> As root (with the directory adjusted to your user):
> # dpkg -i /home/benutzer/source/pads/{pads_1.2-14_amd64.deb,pads-
> dbgsym_1.2-14_amd64.deb}
>
>
> And then see if it still works as expected and see
> if the crash happens again.
>
> Kind regards,
> Bernhard
| ^~~~~~~~
identification.c:325:26: note: in expansion of macro ‘bdata’
325 | strlcat(app, bdata(sig->title.misc), MAX_MISC);
| ^~~~~
util.h:56:39: note: expected ‘const char *’ but argument is of type ‘unsigned char *’
56 | size_t strlcat(char *dst, const char *src, size_t len);
| ~~~~~~~~~~~~^~~
identification.c: In function ‘parse_raw_signature’:
identification.c:130:14: warning: ‘title’ may be used uninitialized [-Wmaybe-uninitialized]
130 | if (title->qty < 3)
| ~~~~~^~~~~
identification.c:94:22: note: ‘title’ was declared here
94 | struct bstrList *title;
| ^~~~~
identification.c:170:8: warning: ‘pcre_string’ may be used uninitialized [-Wmaybe-uninitialized]
170 | if (pcre_string != NULL)
| ^
identification.c:96:13: note: ‘pcre_string’ was declared here
96 | bstring pcre_string;
| ^~~~~~~~~~~
gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../lib -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/home/tmick/source/pads/pads-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -std=gnu89 -c -o packet.o packet.c
In file included from /usr/include/netinet/in.h:21,
from global.h:69,
from packet.h:44,
from packet.c:28:
/usr/include/features.h:194:3: warning: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" [-Wcpp]
194 | # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
| ^~~~~~~
packet.c: In function ‘process_arp’:
packet.c:160:46: warning: pointer targets in passing argument 2 of ‘check_arp_asset’ differ in signedness [-Wpointer-sign]
160 | if (check_arp_asset(ip_addr, arph->arp_sha) == 1) {
| ~~~~^~~~~~~~~
| |
| uint8_t * {aka unsigned char *}
In file included from packet.h:45:
storage.h:58:51: note: expected ‘char *’ but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
58 | int check_arp_asset (struct in_addr ip_addr, char mac_addr[MAC_LEN]);
| ~~~~~^~~~~~~~~~~~~~~~~
packet.c:161:44: warning: pointer targets in passing argument 2 of ‘add_arp_asset’ differ in signedness [-Wpointer-sign]
161 | add_arp_asset(ip_addr, arph->arp_sha, 0);
| ~~~~^~~~~~~~~
| |
| uint8_t * {aka unsigned char *}
storage.h:60:50: note: expected ‘char *’ but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
60 | void add_arp_asset (struct in_addr ip_addr, char mac_addr[MAC_LEN], time_t discovered);
| ~~~~~^~~~~~~~~~~~~~~~~
packet.c:162:47: warning: pointer targets in passing argument 2 of ‘print_arp_asset’ differ in signedness [-Wpointer-sign]
162 | print_arp_asset (ip_addr, arph->arp_sha);
| ~~~~^~~~~~~~~
| |
| uint8_t * {aka unsigned char *}
In file included from pads.h:52,
from util.h:42,
from mac-resolution.h:40,
from storage.h:38:
output/output.h:81:51: note: expected ‘char *’ but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
81 | int print_arp_asset (struct in_addr ip_addr, char mac_addr[MAC_LEN]);
| ~~~~~^~~~~~~~~~~~~~~~~
packet.c: In function ‘process_tcp’:
packet.c:225:25: warning: pointer targets in assignment from ‘u_char *’ {aka ‘unsigned char *’} to ‘char *’ differ in signedness [-Wpointer-sign]
225 | payload = (u_char *)(packet + sizeof(struct tcphdr) + len);
| ^
gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../lib -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/home/tmick/source/pads/pads-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -std=gnu89 -c -o monnet.o monnet.c
monnet.c: In function ‘parse_networks’:
monnet.c:83:9: warning: value computed is not used [-Wunused-value]
83 | *cmdline++;
| ^~~~~~~~~~
gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../lib -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/home/tmick/source/pads/pads-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -std=gnu89 -c -o mac-resolution.o mac-resolution.c
In file included from global.h:75,
from mac-resolution.h:39,
from mac-resolution.c:34:
mac-resolution.c: In function ‘init_mac_resolution’:
../lib/bstring/bstrlib.h:131:97: warning: pointer targets in passing argument 1 of ‘fopen’ differ in signedness [-Wpointer-sign]
131 | #define bdataofse(b, o, e) (((b) == (void *)0 || (b)->data == (void*)0) ? (unsigned char *)(e) : ((b)->data) + (o))
| ^
| |
| unsigned char *
../lib/bstring/bstrlib.h:132:30: note: in expansion of macro ‘bdataofse’
132 | #define bdataofs(b, o) (bdataofse ((b), (o), (void *)0))
| ^~~~~~~~~
../lib/bstring/bstrlib.h:134:30: note: in expansion of macro ‘bdataofs’
134 | #define bdata(b) (bdataofs (b, 0))
| ^~~~~~~~
mac-resolution.c:63:21: note: in expansion of macro ‘bdata’
63 | if ((fp = fopen(bdata(filename), "r")) == NULL) {
| ^~~~~
In file included from mac-resolution.h:38:
/usr/include/stdio.h:258:44: note: expected ‘const char * __restrict__’ but argument is of type ‘unsigned char *’
258 | extern FILE *fopen (const char *__restrict __filename,
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
mac-resolution.c: In function ‘parse_raw_mac’:
../lib/bstring/bstrlib.h:131:97: warning: pointer targets in passing argument 1 of ‘sscanf’ differ in signedness [-Wpointer-sign]
131 | #define bdataofse(b, o, e) (((b) == (void *)0 || (b)->data == (void*)0) ? (unsigned char *)(e) : ((b)->data) + (o))
| ^
| |
| unsigned char *
../lib/bstring/bstrlib.h:132:30: note: in expansion of macro ‘bdataofse’
132 | #define bdataofs(b, o) (bdataofse ((b), (o), (void *)0))
| ^~~~~~~~~
../lib/bstring/bstrlib.h:134:30: note: in expansion of macro ‘bdataofs’
134 | #define bdata(b) (bdataofs (b, 0))
| ^~~~~~~~
mac-resolution.c:103:16: note: in expansion of macro ‘bdata’
103 | if (sscanf(bdata(line), "%02X:%02X:%02X %80[^,\n],\n", &m1, &m2, &m3, vendor) != 4)
| ^~~~~
/usr/include/stdio.h:423:43: note: expected ‘const char * __restrict__’ but argument is of type ‘unsigned char *’
423 | extern int sscanf (const char *__restrict __s,
| ~~~~~~~~~~~~~~~~~~~~~~~^~~
gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../lib -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/home/tmick/source/pads/pads-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -std=gnu89 -c -o configuration.o configuration.c
In file included from global.h:75,
from configuration.h:45,
from configuration.c:28:
configuration.c: In function ‘init_configuration’:
../lib/bstring/bstrlib.h:131:97: warning: pointer targets in passing argument 1 of ‘fopen’ differ in signedness [-Wpointer-sign]
131 | #define bdataofse(b, o, e) (((b) == (void *)0 || (b)->data == (void*)0) ? (unsigned char *)(e) : ((b)->data) + (o))
| ^
| |
| unsigned char *
../lib/bstring/bstrlib.h:132:30: note: in expansion of macro ‘bdataofse’
132 | #define bdataofs(b, o) (bdataofse ((b), (o), (void *)0))
| ^~~~~~~~~
../lib/bstring/bstrlib.h:134:30: note: in expansion of macro ‘bdataofs’
134 | #define bdata(b) (bdataofs (b, 0))
| ^~~~~~~~
configuration.c:47:21: note: in expansion of macro ‘bdata’
47 | if ((fp = fopen(bdata(filename), "r")) == NULL) {
| ^~~~~
In file included from configuration.h:44:
/usr/include/stdio.h:258:44: note: expected ‘const char * __restrict__’ but argument is of type ‘unsigned char *’
258 | extern FILE *fopen (const char *__restrict __filename,
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
configuration.c: In function ‘parse_line’:
../lib/bstring/bstrlib.h:131:97: warning: pointer targets in passing argument 1 of ‘parse_networks’ differ in signedness [-Wpointer-sign]
131 | #define bdataofse(b, o, e) (((b) == (void *)0 || (b)->data == (void*)0) ? (unsigned char *)(e) : ((b)->data) + (o))
| ^
| |
| unsigned char *
../lib/bstring/bstrlib.h:132:30: note: in expansion of macro ‘bdataofse’
132 | #define bdataofs(b, o) (bdataofse ((b), (o), (void *)0))
| ^~~~~~~~~
../lib/bstring/bstrlib.h:134:30: note: in expansion of macro ‘bdataofs’
134 | #define bdata(b) (bdataofs (b, 0))
| ^~~~~~~~
configuration.c:150:24: note: in expansion of macro ‘bdata’
150 | parse_networks(bdata(value));
| ^~~~~
In file included from pads.h:56,
from util.h:42,
from configuration.h:46:
monnet.h:48:28: note: expected ‘char *’ but argument is of type ‘unsigned char *’
48 | void parse_networks (char *cmdline);
| ~~~~~~^~~~~~~
gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../lib -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/home/tmick/source/pads/pads-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -std=gnu89 -c -o util.o util.c
In file included from global.h:75,
from util.h:41,
from util.c:28:
util.c: In function ‘init_pid_file’:
../lib/bstring/bstrlib.h:131:97: warning: pointer targets in passing argument 1 of ‘fopen’ differ in signedness [-Wpointer-sign]
131 | #define bdataofse(b, o, e) (((b) == (void *)0 || (b)->data == (void*)0) ? (unsigned char *)(e) : ((b)->data) + (o))
| ^
| |
| unsigned char *
../lib/bstring/bstrlib.h:132:30: note: in expansion of macro ‘bdataofse’
132 | #define bdataofs(b, o) (bdataofse ((b), (o), (void *)0))
| ^~~~~~~~~
../lib/bstring/bstrlib.h:134:30: note: in expansion of macro ‘bdataofs’
134 | #define bdata(b) (bdataofs (b, 0))
| ^~~~~~~~
util.c:103:21: note: in expansion of macro ‘bdata’
103 | if ((fp = fopen(bdata(pid_file), "w")) != NULL) {
| ^~~~~
In file included from util.h:32:
/usr/include/stdio.h:258:44: note: expected ‘const char * __restrict__’ but argument is of type ‘unsigned char *’
258 | extern FILE *fopen (const char *__restrict __filename,
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
../lib/bstring/bstrlib.h:131:97: warning: pointer targets in passing argument 1 of ‘getgrnam’ differ in signedness [-Wpointer-sign]
131 | #define bdataofse(b, o, e) (((b) == (void *)0 || (b)->data == (void*)0) ? (unsigned char *)(e) : ((b)->data) + (o))
| ^
| |
| unsigned char *
../lib/bstring/bstrlib.h:132:30: note: in expansion of macro ‘bdataofse’
132 | #define bdataofs(b, o) (bdataofse ((b), (o), (void *)0))
| ^~~~~~~~~
../lib/bstring/bstrlib.h:134:30: note: in expansion of macro ‘bdataofs’
134 | #define bdata(b) (bdataofs (b, 0))
| ^~~~~~~~
util.c:115:32: note: in expansion of macro ‘bdata’
115 | if ((this_group = getgrnam(bdata(group))) == NULL)
| ^~~~~
In file included from util.h:37:
/usr/include/grp.h:107:44: note: expected ‘const char *’ but argument is of type ‘unsigned char *’
107 | extern struct group *getgrnam (const char *__name);
| ~~~~~~~~~~~~^~~~~~
../lib/bstring/bstrlib.h:131:97: warning: pointer targets in passing argument 1 of ‘getpwnam’ differ in signedness [-Wpointer-sign]
131 | #define bdataofse(b, o, e) (((b) == (void *)0 || (b)->data == (void*)0) ? (unsigned char *)(e) : ((b)->data) + (o))
| ^
| |
| unsigned char *
../lib/bstring/bstrlib.h:132:30: note: in expansion of macro ‘bdataofse’
132 | #define bdataofs(b, o) (bdataofse ((b), (o), (void *)0))
| ^~~~~~~~~
../lib/bstring/bstrlib.h:134:30: note: in expansion of macro ‘bdataofs’
134 | #define bdata(b) (bdataofs (b, 0))
| ^~~~~~~~
util.c:117:31: note: in expansion of macro ‘bdata’
117 | if ((this_user = getpwnam(bdata(user))) == NULL)
| ^~~~~
In file included from util.h:38:
/usr/include/pwd.h:116:45: note: expected ‘const char *’ but argument is of type ‘unsigned char *’
116 | extern struct passwd *getpwnam (const char *__name) __nonnull ((1));
| ~~~~~~~~~~~~^~~~~~
util.c:117:22: warning: argument 1 null where non-null expected [-Wnonnull]
117 | if ((this_user = getpwnam(bdata(user))) == NULL)
| ^~~~~~~~
/usr/include/pwd.h:116:23: note: in a call to function ‘getpwnam’ declared ‘nonnull’
116 | extern struct passwd *getpwnam (const char *__name) __nonnull ((1));
| ^~~~~~~~
../lib/bstring/bstrlib.h:131:97: warning: pointer targets in passing argument 1 of ‘chown’ differ in signedness [-Wpointer-sign]
131 | #define bdataofse(b, o, e) (((b) == (void *)0 || (b)->data == (void*)0) ? (unsigned char *)(e) : ((b)->data) + (o))
| ^
| |
| unsigned char *
../lib/bstring/bstrlib.h:132:30: note: in expansion of macro ‘bdataofse’
132 | #define bdataofs(b, o) (bdataofse ((b), (o), (void *)0))
| ^~~~~~~~~
../lib/bstring/bstrlib.h:134:30: note: in expansion of macro ‘bdataofs’
134 | #define bdata(b) (bdataofs (b, 0))
| ^~~~~~~~
util.c:119:16: note: in expansion of macro ‘bdata’
119 | if ((chown(bdata(pid_file), this_user->pw_uid, this_group->gr_gid)) != 0)
| ^~~~~
In file included from util.h:31:
/usr/include/unistd.h:493:31: note: expected ‘const char *’ but argument is of type ‘unsigned char *’
493 | extern int chown (const char *__file, __uid_t __owner, __gid_t __group)
| ~~~~~~~~~~~~^~~~~~
util.c:119:10: warning: argument 1 null where non-null expected [-Wnonnull]
119 | if ((chown(bdata(pid_file), this_user->pw_uid, this_group->gr_gid)) != 0)
| ^~~~~
/usr/include/unistd.h:493:12: note: in a call to function ‘chown’ declared ‘nonnull’
493 | extern int chown (const char *__file, __uid_t __owner, __gid_t __group)
| ^~~~~
util.c: In function ‘drop_privs’:
../lib/bstring/bstrlib.h:131:97: warning: pointer targets in passing argument 1 of ‘getgrnam’ differ in signedness [-Wpointer-sign]
131 | #define bdataofse(b, o, e) (((b) == (void *)0 || (b)->data == (void*)0) ? (unsigned char *)(e) : ((b)->data) + (o))
| ^
| |
| unsigned char *
../lib/bstring/bstrlib.h:132:30: note: in expansion of macro ‘bdataofse’
132 | #define bdataofs(b, o) (bdataofse ((b), (o), (void *)0))
| ^~~~~~~~~
../lib/bstring/bstrlib.h:134:30: note: in expansion of macro ‘bdataofs’
134 | #define bdata(b) (bdataofs (b, 0))
| ^~~~~~~~
util.c:366:32: note: in expansion of macro ‘bdata’
366 | if ((this_group = getgrnam(bdata(newgroup))) == NULL)
| ^~~~~
/usr/include/grp.h:107:44: note: expected ‘const char *’ but argument is of type ‘unsigned char *’
107 | extern struct group *getgrnam (const char *__name);
| ~~~~~~~~~~~~^~~~~~
../lib/bstring/bstrlib.h:131:97: warning: pointer targets in passing argument 1 of ‘getpwnam’ differ in signedness [-Wpointer-sign]
131 | #define bdataofse(b, o, e) (((b) == (void *)0 || (b)->data == (void*)0) ? (unsigned char *)(e) : ((b)->data) + (o))
| ^
| |
| unsigned char *
../lib/bstring/bstrlib.h:132:30: note: in expansion of macro ‘bdataofse’
132 | #define bdataofs(b, o) (bdataofse ((b), (o), (void *)0))
| ^~~~~~~~~
../lib/bstring/bstrlib.h:134:30: note: in expansion of macro ‘bdataofs’
134 | #define bdata(b) (bdataofs (b, 0))
| ^~~~~~~~
util.c:369:31: note: in expansion of macro ‘bdata’
369 | if ((this_user = getpwnam(bdata(newuser))) == NULL)
| ^~~~~
/usr/include/pwd.h:116:45: note: expected ‘const char *’ but argument is of type ‘unsigned char *’
116 | extern struct passwd *getpwnam (const char *__name) __nonnull ((1));
| ~~~~~~~~~~~~^~~~~~
util.c:369:22: warning: argument 1 null where non-null expected [-Wnonnull]
369 | if ((this_user = getpwnam(bdata(newuser))) == NULL)
| ^~~~~~~~
/usr/include/pwd.h:116:23: note: in a call to function ‘getpwnam’ declared ‘nonnull’
116 | extern struct passwd *getpwnam (const char *__name) __nonnull ((1));
| ^~~~~~~~
util.c: In function ‘strlcat’:
util.c:328:16: warning: ‘tocopy’ is used uninitialized [-Wuninitialized]
328 | while (tocopy-- && *dstptr) dstptr++;
| ~~~~~~^~
util.c:325:22: note: ‘tocopy’ was declared here
325 | size_t dstlen, tocopy;
| ^~~~~~
gcc -g -O2 -ffile-prefix-map=/home/tmick/source/pads/pads-1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -g -std=gnu89 -Wl,-z,relro -lpcre -o pads pads.o storage.o identification.o packet.o monnet.o mac-resolution.o configuration.o util.o ../lib/bstring/libbstring.a output/liboutput.a -lpcre -lpcap
cat ./pads-report.pl >> pads-report
chmod +x pads-report
make[4]: Leaving directory '/home/tmick/source/pads/pads-1.2/src'
make[3]: Leaving directory '/home/tmick/source/pads/pads-1.2/src'
make[3]: Entering directory '/home/tmick/source/pads/pads-1.2'
make[3]: Leaving directory '/home/tmick/source/pads/pads-1.2'
make[2]: Leaving directory '/home/tmick/source/pads/pads-1.2'
make[1]: Leaving directory '/home/tmick/source/pads/pads-1.2'
dh_auto_test
make -j1 check "TESTSUITEFLAGS=-j1 --verbose" VERBOSE=1
make[1]: Entering directory '/home/tmick/source/pads/pads-1.2'
Making check in doc
make[2]: Entering directory '/home/tmick/source/pads/pads-1.2/doc'
make[2]: Nothing to be done for 'check'.
make[2]: Leaving directory '/home/tmick/source/pads/pads-1.2/doc'
Making check in etc
make[2]: Entering directory '/home/tmick/source/pads/pads-1.2/etc'
make[2]: Nothing to be done for 'check'.
make[2]: Leaving directory '/home/tmick/source/pads/pads-1.2/etc'
Making check in lib
make[2]: Entering directory '/home/tmick/source/pads/pads-1.2/lib'
Making check in bstring
make[3]: Entering directory '/home/tmick/source/pads/pads-1.2/lib/bstring'
make[3]: Nothing to be done for 'check'.
make[3]: Leaving directory '/home/tmick/source/pads/pads-1.2/lib/bstring'
make[3]: Entering directory '/home/tmick/source/pads/pads-1.2/lib'
make[3]: Nothing to be done for 'check-am'.
make[3]: Leaving directory '/home/tmick/source/pads/pads-1.2/lib'
make[2]: Leaving directory '/home/tmick/source/pads/pads-1.2/lib'
Making check in src
make[2]: Entering directory '/home/tmick/source/pads/pads-1.2/src'
Making check in output
make[3]: Entering directory '/home/tmick/source/pads/pads-1.2/src/output'
make[3]: Nothing to be done for 'check'.
make[3]: Leaving directory '/home/tmick/source/pads/pads-1.2/src/output'
make[3]: Entering directory '/home/tmick/source/pads/pads-1.2/src'
make[3]: Nothing to be done for 'check-am'.
make[3]: Leaving directory '/home/tmick/source/pads/pads-1.2/src'
make[2]: Leaving directory '/home/tmick/source/pads/pads-1.2/src'
make[2]: Entering directory '/home/tmick/source/pads/pads-1.2'
make[2]: Leaving directory '/home/tmick/source/pads/pads-1.2'
make[1]: Leaving directory '/home/tmick/source/pads/pads-1.2'
create-stamp debian/debhelper-build-stamp
dh_prep
dh_installdirs
debian/rules override_dh_auto_install
make[1]: Entering directory '/home/tmick/source/pads/pads-1.2'
dh_auto_install -- -C src
make -j1 install DESTDIR=/home/tmick/source/pads/pads-1.2/debian/pads AM_UPDATE_INFO_DIR=no -C src
make[2]: Entering directory '/home/tmick/source/pads/pads-1.2/src'
Making install in output
make[3]: Entering directory '/home/tmick/source/pads/pads-1.2/src/output'
make[4]: Entering directory '/home/tmick/source/pads/pads-1.2/src/output'
make[4]: Nothing to be done for 'install-exec-am'.
make[4]: Nothing to be done for 'install-data-am'.
make[4]: Leaving directory '/home/tmick/source/pads/pads-1.2/src/output'
make[3]: Leaving directory '/home/tmick/source/pads/pads-1.2/src/output'
make[3]: Entering directory '/home/tmick/source/pads/pads-1.2/src'
make[4]: Entering directory '/home/tmick/source/pads/pads-1.2/src'
/usr/bin/mkdir -p '/home/tmick/source/pads/pads-1.2/debian/pads/usr/bin'
/usr/bin/install -c pads '/home/tmick/source/pads/pads-1.2/debian/pads/usr/bin'
/usr/bin/mkdir -p '/home/tmick/source/pads/pads-1.2/debian/pads/usr/bin'
/usr/bin/install -c pads-report '/home/tmick/source/pads/pads-1.2/debian/pads/usr/bin'
make[4]: Nothing to be done for 'install-data-am'.
make[4]: Leaving directory '/home/tmick/source/pads/pads-1.2/src'
make[3]: Leaving directory '/home/tmick/source/pads/pads-1.2/src'
make[2]: Leaving directory '/home/tmick/source/pads/pads-1.2/src'
dh_auto_install -- -C etc
make -j1 install DESTDIR=/home/tmick/source/pads/pads-1.2/debian/pads AM_UPDATE_INFO_DIR=no -C etc
make[2]: Entering directory '/home/tmick/source/pads/pads-1.2/etc'
make[3]: Entering directory '/home/tmick/source/pads/pads-1.2/etc'
/usr/bin/mkdir -p '/home/tmick/source/pads/pads-1.2/debian/pads/etc/pads'
/usr/bin/install -c -m 644 pads.conf pads-signature-list pads-ether-codes '/home/tmick/source/pads/pads-1.2/debian/pads/etc/pads'
make[3]: Nothing to be done for 'install-data-am'.
make[3]: Leaving directory '/home/tmick/source/pads/pads-1.2/etc'
make[2]: Leaving directory '/home/tmick/source/pads/pads-1.2/etc'
make[1]: Leaving directory '/home/tmick/source/pads/pads-1.2'
dh_installdocs
dh_installchangelogs
dh_installman
dh_installinit
dh_perl
dh_link
dh_strip_nondeterminism
dh_compress
dh_fixperms
dh_missing
dh_dwz
dh_strip
dh_makeshlibs
dh_shlibdeps
dh_installdeb
dh_gencontrol
dpkg-gencontrol: warning: package pads: substitution variable ${perl:Depends} unused, but is defined
dpkg-gencontrol: warning: package pads: substitution variable ${perl:Depends} unused, but is defined
dh_md5sums
dh_builddeb
dpkg-deb: building package 'pads' in '../pads_1.2-14_amd64.deb'.
dpkg-deb: building package 'pads-dbgsym' in '../pads-dbgsym_1.2-14_amd64.deb'.
dpkg-genbuildinfo --build=binary -O../pads_1.2-14_amd64.buildinfo
dpkg-genchanges --build=binary -O../pads_1.2-14_amd64.changes
dpkg-genchanges: info: binary-only upload (no source code included)
dpkg-source --after-build .
dpkg-buildpackage: info: binary-only upload (no source included)
signfile pads_1.2-14_amd64.buildinfo
gpg: skipped "Jelmer Vernooij <jelmer@debian.org>": No secret key
gpg: dpkg-sign.JsqXYH5N/pads_1.2-14_amd64.buildinfo: clear-sign failed: No secret key
dpkg-buildpackage: error: failed to sign pads_1.2-14_amd64.buildinfo file: key is not signature-capable
Reply to: