Source: vtun
Version: 3.0.4-2
Severity: important
Tags: ftbfs
Justification: FTBFS
X-Debbugs-Cc: ni...@thykier.net
User: ni...@thykier.net
Usertags: rrr-no-as-default-issue

Dear maintainer,

During a test rebuild for building packages with
`Rules-Requires-Root: no` as the default in `dpkg`,
vtun failed to rebuild.

Log Summary:
-------------------------------------------------------------------------------
[...]
      |               ^~~~~~
lfd_encrypt.c:68:15: warning: ‘key’ defined but not used [-Wunused-variable]
   68 | static BF_KEY key;
      |               ^~~
gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wall -g -I/usr/include/lzo -I/usr/include/openssl -I/usr/include/openssl -I/usr/include/openssl -I/usr/include/openssl -DVTUN_CONFIG_FILE=\"/etc/vtund.conf\" -DVTUN_PID_DIR=\"/var/run\" -DVTUN_STAT_DIR=\"/var/log/vtund\" -DVTUN_LOCK_DIR=\"/var/lock/vtund\" -c lfd_legacy_encrypt.c
lfd_legacy_encrypt.c: In function ‘alloc_legacy_encrypt’:
lfd_legacy_encrypt.c:74:4: warning: ‘BF_set_key’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations] 74 | BF_set_key(&key, ENC_KEY_SIZE, MD5(host->passwd,strlen(host->passwd),NULL));
      |    ^~~~~~~~~~
In file included from lfd_legacy_encrypt.c:55:
/usr/include/openssl/blowfish.h:50:28: note: declared here
   50 | OSSL_DEPRECATEDIN_3_0 void BF_set_key(BF_KEY *key, int len,
      |                            ^~~~~~~~~~
lfd_legacy_encrypt.c:74:4: warning: ‘MD5’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations] 74 | BF_set_key(&key, ENC_KEY_SIZE, MD5(host->passwd,strlen(host->passwd),NULL));
      |    ^~~~~~~~~~
In file included from lfd_legacy_encrypt.c:54:
/usr/include/openssl/md5.h:52:38: note: declared here
52 | OSSL_DEPRECATEDIN_3_0 unsigned char *MD5(const unsigned char *d, size_t n,
      |                                      ^~~
lfd_legacy_encrypt.c:74:43: warning: pointer targets in passing argument 1 of ‘MD5’ differ in signedness [-Wpointer-sign] 74 | BF_set_key(&key, ENC_KEY_SIZE, MD5(host->passwd,strlen(host->passwd),NULL));
      |                                       ~~~~^~~~~~~~
      |                                           |
      |                                           char *
/usr/include/openssl/md5.h:52:63: note: expected ‘const unsigned char *’ but argument is of type ‘char *’ 52 | OSSL_DEPRECATEDIN_3_0 unsigned char *MD5(const unsigned char *d, size_t n,
      |                                          ~~~~~~~~~~~~~~~~~~~~~^
lfd_legacy_encrypt.c: In function ‘legacy_encrypt_buf’:
lfd_legacy_encrypt.c:97:4: warning: ‘BF_ecb_encrypt’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
   97 |    BF_ecb_encrypt(out_ptr, out_ptr, &key, BF_ENCRYPT);
      |    ^~~~~~~~~~~~~~
/usr/include/openssl/blowfish.h:54:28: note: declared here
   54 | OSSL_DEPRECATEDIN_3_0 void BF_ecb_encrypt(const unsigned char *in,
      |                            ^~~~~~~~~~~~~~
lfd_legacy_encrypt.c:97:19: warning: pointer targets in passing argument 1 of ‘BF_ecb_encrypt’ differ in signedness [-Wpointer-sign]
   97 |    BF_ecb_encrypt(out_ptr, out_ptr, &key, BF_ENCRYPT);
      |                   ^~~~~~~
      |                   |
      |                   char *
/usr/include/openssl/blowfish.h:54:64: note: expected ‘const unsigned char *’ but argument is of type ‘char *’
   54 | OSSL_DEPRECATEDIN_3_0 void BF_ecb_encrypt(const unsigned char *in,
      |                                           ~~~~~~~~~~~~~~~~~~~~~^~
lfd_legacy_encrypt.c:97:28: warning: pointer targets in passing argument 2 of ‘BF_ecb_encrypt’ differ in signedness [-Wpointer-sign]
   97 |    BF_ecb_encrypt(out_ptr, out_ptr, &key, BF_ENCRYPT);
      |                            ^~~~~~~
      |                            |
      |                            char *
/usr/include/openssl/blowfish.h:55:58: note: expected ‘unsigned char *’ but argument is of type ‘char *’ 55 | unsigned char *out, const BF_KEY *key,
      |                                           ~~~~~~~~~~~~~~~^~~
lfd_legacy_encrypt.c:102:7: warning: ‘BF_ecb_encrypt’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  102 |       BF_ecb_encrypt(in_ptr + p,  out_ptr + p, &key, BF_ENCRYPT);
      |       ^~~~~~~~~~~~~~
/usr/include/openssl/blowfish.h:54:28: note: declared here
   54 | OSSL_DEPRECATEDIN_3_0 void BF_ecb_encrypt(const unsigned char *in,
      |                            ^~~~~~~~~~~~~~
lfd_legacy_encrypt.c:102:29: warning: pointer targets in passing argument 1 of ‘BF_ecb_encrypt’ differ in signedness [-Wpointer-sign]
  102 |       BF_ecb_encrypt(in_ptr + p,  out_ptr + p, &key, BF_ENCRYPT);
      |                      ~~~~~~~^~~
      |                             |
      |                             char *
/usr/include/openssl/blowfish.h:54:64: note: expected ‘const unsigned char *’ but argument is of type ‘char *’
   54 | OSSL_DEPRECATEDIN_3_0 void BF_ecb_encrypt(const unsigned char *in,
      |                                           ~~~~~~~~~~~~~~~~~~~~~^~
lfd_legacy_encrypt.c:102:43: warning: pointer targets in passing argument 2 of ‘BF_ecb_encrypt’ differ in signedness [-Wpointer-sign]
  102 |       BF_ecb_encrypt(in_ptr + p,  out_ptr + p, &key, BF_ENCRYPT);
      |                                   ~~~~~~~~^~~
      |                                           |
      |                                           char *
/usr/include/openssl/blowfish.h:55:58: note: expected ‘unsigned char *’ but argument is of type ‘char *’ 55 | unsigned char *out, const BF_KEY *key,
      |                                           ~~~~~~~~~~~~~~~^~~
lfd_legacy_encrypt.c: In function ‘legacy_decrypt_buf’:
lfd_legacy_encrypt.c:113:7: warning: ‘BF_ecb_encrypt’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  113 |       BF_ecb_encrypt(in + p, in + p, &key, BF_DECRYPT);
      |       ^~~~~~~~~~~~~~
/usr/include/openssl/blowfish.h:54:28: note: declared here
   54 | OSSL_DEPRECATEDIN_3_0 void BF_ecb_encrypt(const unsigned char *in,
      |                            ^~~~~~~~~~~~~~
lfd_legacy_encrypt.c:113:25: warning: pointer targets in passing argument 1 of ‘BF_ecb_encrypt’ differ in signedness [-Wpointer-sign]
  113 |       BF_ecb_encrypt(in + p, in + p, &key, BF_DECRYPT);
      |                      ~~~^~~
      |                         |
      |                         char *
/usr/include/openssl/blowfish.h:54:64: note: expected ‘const unsigned char *’ but argument is of type ‘char *’
   54 | OSSL_DEPRECATEDIN_3_0 void BF_ecb_encrypt(const unsigned char *in,
      |                                           ~~~~~~~~~~~~~~~~~~~~~^~
lfd_legacy_encrypt.c:113:33: warning: pointer targets in passing argument 2 of ‘BF_ecb_encrypt’ differ in signedness [-Wpointer-sign]
  113 |       BF_ecb_encrypt(in + p, in + p, &key, BF_DECRYPT);
      |                              ~~~^~~
      |                                 |
      |                                 char *
/usr/include/openssl/blowfish.h:55:58: note: expected ‘unsigned char *’ but argument is of type ‘char *’ 55 | unsigned char *out, const BF_KEY *key,
      |                                           ~~~~~~~~~~~~~~~^~~
In file included from lfd_legacy_encrypt.c:46:
vtun.h: At top level:
vtun.h:241:13: warning: inline function ‘clear_nat_hack_flags’ declared but never defined
  241 | inline void clear_nat_hack_flags(int svr);
      |             ^~~~~~~~~~~~~~~~~~~~
gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wall -g -I/usr/include/lzo -I/usr/include/openssl -I/usr/include/openssl -I/usr/include/openssl -I/usr/include/openssl -o vtund main.o cfg_file.tab.o cfg_file.lex.o server.o client.o lib.o llist.o auth.o tunnel.o lock.o netlib.o tun_dev.o tap_dev.o pty_dev.o pipe_dev.o tcp_proto.o udp_proto.o linkfd.o lfd_shaper.o lfd_zlib.o lfd_lzo.o lfd_encrypt.o lfd_legacy_encrypt.o -Wl,-z,defs -lz -llzo2 -lcrypto -lutil
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
touch build-stamp
dh_testdir
dh_testroot
dh_prep dh_installdirs
dh_installdirs: warning: Compatibility levels before 10 are deprecated (level 9 in use)
/usr/bin/make DESTDIR=/<<PKGBUILDDIR>>/debian/vtun install
make[1]: Entering directory '/<<PKGBUILDDIR>>'
/usr/bin/install -c -d -m 755 -o root -g 0 /<<PKGBUILDDIR>>/debian/vtun/etc
/usr/bin/install: cannot change owner and permissions of ‘/<<PKGBUILDDIR>>/debian/vtun/etc’: Operation not permitted
make[1]: *** [Makefile:91: install_config] Error 1
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:62: install] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------
Build finished at 2024-11-18T20:04:42Z

-------------------------------------------------------------------------------


The above is just how the build ends and not necessarily the most
relevant part. If required, the full build log is available here:

https://people.debian.org/~nthykier/rrr-no-as-default/logs/1050627.gz

You can find common solutions at
https://people.debian.org/~nthykier/rrr-no-as-default/docs/solutions.md

If this is really a bug in one of the build-depends, please use
reassign and affects, so that this is still visible in the BTS web
page for this package.

If this package is listed in
https://people.debian.org/~nthykier/rrr-no-as-default/docs/static-ownership.list,
then please just set `Rules-Requires-Root: binary-targets` to the source
stanza of `debian/control` as a fix to this bug.

If this package is listed in
https://people.debian.org/~nthykier/rrr-no-as-default/docs/maybe-misbuilds.list,
then the package was deemed at risk for misbuilding (having wrong
ownership) but had a FTBFS problem we tested it. Please test whether the
package works with `Rules-Requires-Root: no` validating that the
resulting deb has the correct ownership for all paths in the deb.

The goal is to have the default changed in `dpkg` either in `Trixie` or
`Forky`, depending on progress and feasibility with the release schedule
for Trixie.

For more information on this bug filing, please see:
https://lists.debian.org/debian-dpkg/2024/11/msg00016.html

Thanks,


PS: The builds were performed in mid-November. If you fixed the problem
between between then and this bug being filed, then please just close
the bug with the version it was fixed in.

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to