Varnish module (VMOD) for digests and hmacs with the VCL data type BLOB
- VCL 68.7%
- C 29.5%
- Makefile 1.1%
- M4 0.6%
The current Varnish-Cache version in distributions
repositories is currently 7.7.x causing the
following errors on build:
```
In file included from /usr/include/varnish/cache/cache.h:51,
from ../../../src/vmod_blobdigest.c:33:
../../../src/vmod_blobdigest.c: In function 'ws_alloc_digest':
/usr/include/varnish/miniobj.h:17:21: error: 'struct vrt_blob' has no member named 'magic'
17 | (to)->magic = (type_magic); \
| ^~
../../../src/vmod_blobdigest.c:379:9: note: in expansion of macro 'INIT_OBJ'
379 | INIT_OBJ(b, VRT_BLOB_MAGIC);
| ^~~~~~~~
../../../src/vmod_blobdigest.c:379:21: error: 'VRT_BLOB_MAGIC' undeclared (first use in this function); did you mean 'VRT_CTX_MAGIC'?
379 | INIT_OBJ(b, VRT_BLOB_MAGIC);
| ^~~~~~~~~~~~~~
/usr/include/varnish/miniobj.h:17:32: note: in definition of macro 'INIT_OBJ'
17 | (to)->magic = (type_magic); \
| ^~~~~~~~~~
../../../src/vmod_blobdigest.c:379:21: note: each undeclared identifier is reported only once for each function it appears in
379 | INIT_OBJ(b, VRT_BLOB_MAGIC);
| ^~~~~~~~~~~~~~
/usr/include/varnish/miniobj.h:17:32: note: in definition of macro 'INIT_OBJ'
17 | (to)->magic = (type_magic); \
| ^~~~~~~~~~
../../../src/vmod_blobdigest.c: In function 'heap_alloc_digest':
/usr/include/varnish/miniobj.h:17:21: error: 'struct vrt_blob' has no member named 'magic'
17 | (to)->magic = (type_magic); \
| ^~
../../../src/vmod_blobdigest.c:404:9: note: in expansion of macro 'INIT_OBJ'
404 | INIT_OBJ(b, VRT_BLOB_MAGIC);
| ^~~~~~~~
../../../src/vmod_blobdigest.c:404:21: error: 'VRT_BLOB_MAGIC' undeclared (first use in this function); did you mean 'VRT_CTX_MAGIC'?
404 | INIT_OBJ(b, VRT_BLOB_MAGIC);
| ^~~~~~~~~~~~~~
/usr/include/varnish/miniobj.h:17:32: note: in definition of macro 'INIT_OBJ'
17 | (to)->magic = (type_magic); \
| ^~~~~~~~~~
```
Cloning Varnish-Cache in the pipeline allows
getting the latest version and prevent the error.
|
||
|---|---|---|
| src | ||
| .clang-tidy | ||
| .dir-locals.el | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| .travis.yml | ||
| bootstrap | ||
| configure.ac | ||
| CONTRIBUTING.rst | ||
| INSTALL.rst | ||
| LICENSE | ||
| Makefile.am | ||
| README.rst | ||
=============== vmod_blobdigest =============== -------------------------------------------------- digests, checksums and hmacs for the VCL blob type -------------------------------------------------- DESCRIPTION =========== This Varnish Module (VMOD) generates message digests, keyed-hash message authentication codes (HMACs) and checksums using the VCL data type BLOB, which may contain arbitrary data of any length. This vmod is intended for use together with the blob vmod from the Varnish-Cache distribution for binary-to-text encodings, to initialize data and to save results. The advantage of using BLOBs is that operations on the data are separated from issues such as encoding. REQUIREMENTS ============ This version of the VMOD requires Varnish since version 5.2. See the source repository for versions that are compatible with other versions of Varnish. The gcc compiler and Perl 5 are required for the build. INSTALLATION ============ See `INSTALL.rst <INSTALL.rst>`_ in the source repository. AUTHOR ====== * Geoffrey Simmons <geoff@uplex.de> UPLEX Nils Goroll Systemoptimierung Cryptographic code is adapted from librhash by Aleksey Kravchenko, which is in the public domain (see `LICENSE <LICENSE>`_). CONTRIBUTING ============ See `CONTRIBUTING.rst <CONTRIBUTING.rst>`_ in the source repository for notes on contributing source code and documentation, raising issues, and for developer guidelines. SEE ALSO ======== * varnishd(1) * vcl(7) * source repository: https://code.uplex.de/uplex-varnish/libvmod-blobdigest * RHash: * https://github.com/rhash/RHash * http://rhash.anz.ru/ COPYRIGHT ========= :: Copyright (c) 2016 UPLEX Nils Goroll Systemoptimierung All rights reserved Author: Geoffrey Simmons <geoffrey.simmons@uplex.de> See LICENSE