office-gobmx/readlicense_oo
Sarper Akdemir 3d5cafbe17 tdf#157518: external: bundle zxcvbn-c
Integrates zxcvbn-c as a static library.

zxcvbn-c is C/C++ implementation of
https://dropbox.tech/security/zxcvbn-realistic-password-strength-estimation.

This is the first step for introducing a password strength
meter. Some example projects that utilize zxcvbn-c are
KeepassXC, monero-gui.

ExternalProject_zxcvbn-c takes care of the dictionary node
generation bits resulting in the dict-src.h

Then StaticLibrary_zxcvbn-c depends on
ExternalProject_zxcvbn-c and uses the generated bits and the
zxcvbn-c source to compile the library.

It should be possible to get rid of dictionary node
generation bit with a patch that includes a constant
dict-src.h that's what monero-gui does for example. But this
might also obfuscate what dict-src.h is.

Right now the dictionary that is included with zxcvbn-c only
targets English, so that might be something to improve upon.

Change-Id: Ic2b0a558cff341114d69fbdc257979a28bf5c865
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157565
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Tested-by: Jenkins
Reviewed-by: Sarper Akdemir <sarper.akdemir.extern@allotropia.de>
2023-10-30 08:17:05 +01:00
..
docs
license tdf#157518: external: bundle zxcvbn-c 2023-10-30 08:17:05 +01:00
CustomTarget_license.mk
CustomTarget_readme.mk
Makefile
Module_readlicense_oo.mk
Package_files.mk
Package_license.mk
Package_readlicense_oo_readmes.mk
README.md

LibreOffice Licensing Blurb

Contains the stock libreoffice licensing blurb, as distributed in the install directory, and also potentially at run-time.

Generating Licence Files

License files are generated from a single source file (license/license.xml). Output file formats are plain text and html.

  • The plain text and the html format is generated with XSLT. There are two separate XSL files for plain text and html.

Conditional Text

The contents of the license file depends on the build configuration. Several externals may or may not be shipped with LibreOffice. Therefore, we need to pass information about build configuration to the XSLT processor.

Variables used for conditional text:

  • BUILD_TYPE: A space separated list of libraries/externals. If an external is present in that list, then the related license text should be included.

  • MPL_SUBSET: If the variable is defined, then GPL and LGPL license text will not be included, because none of the built-in code need it.

  • OS: The target platform. E.g. MSVC Runtime is packaged and used only on Windows.

  • WITH_THEMES: A space separated list of icon sets that are used in the build.

Conditional text are surrounded by and extra <div> tag. The class attribute of that <div> tag decides which parameter values are taken into consideration.