Page MenuHomeFreeBSD

Make the VNC authentication build with LibreSSL on HardenedBSD and TrueOS.
ClosedPublic

Authored by araujo on Jun 6 2017, 6:30 AM.
Tags
None
Referenced Files
Unknown Object (File)
Dec 20 2023, 2:42 AM
Unknown Object (File)
Dec 11 2023, 7:44 AM
Unknown Object (File)
Nov 7 2023, 1:57 AM
Unknown Object (File)
Oct 6 2023, 12:59 AM
Unknown Object (File)
Sep 16 2023, 7:41 AM
Unknown Object (File)
Sep 14 2023, 3:39 AM
Unknown Object (File)
Aug 15 2023, 3:34 AM
Unknown Object (File)
Jul 2 2023, 7:40 AM
Subscribers

Details

Summary

HardenedBSD and TrueOS has LibreSSL in the base system, to make it compatible is better use the unsigned char const_DES_cblock[8];

There is a PR[0] with a patch to fix it.
[0] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=219790

Test Plan
  • Built on TrueOS.
  • Tested on FreeBSD HEAD and TrueOS.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

araujo edited the test plan for this revision. (Show Details)
araujo added a reviewer: bhyve.
araujo added reviewers: grehan, rgrimes, tychon, jhb.

As pointed on in the PR is it possible to totally remove all this casting?
It would make the code much cleaner.

As pointed on in the PR is it possible to totally remove all this casting?
It would make the code much cleaner.

Actually need to make the cast, the DES_* expect a parameter of type DES_cblock or const_DES_cblock:

/usr/src/usr.sbin/bhyve/rfb.c:845:15: error: incompatible pointer types passing 'unsigned char [8]' to parameter of type 'const_DES_cblock *'
      (aka 'unsigned char (*)[8]'); take the address with & [-Werror,-Wincompatible-pointer-types]
                DES_set_key(keystr, &ks);
                            ^~~~~~
                            &
/usr/include/openssl/des.h:230:35: note: passing argument to parameter 'key' here
int DES_set_key(const_DES_cblock *key, DES_key_schedule *schedule);
This revision is now accepted and ready to land.Jun 8 2017, 4:36 AM
This revision was automatically updated to reflect the committed changes.