Varnish module (VMOD) for digests and hmacs with the VCL data type BLOB
Find a file
2025-09-15 15:51:44 +02:00
src Adjust to varnish-cache 8.0 2025-09-15 15:51:44 +02:00
.clang-tidy CI: Introduce clang-tidy 2025-07-09 12:08:43 +02:00
.dir-locals.el initial commit, only the version() function 2016-02-13 15:22:50 +01:00
.gitignore Handle src/vmod_vcs_version.txt 2025-06-17 11:57:09 +02:00
.gitlab-ci.yml CI: Add a Gitlab CI pipeline configuration 2025-07-09 15:24:58 +02:00
.travis.yml initial commit, only the version() function 2016-02-13 15:22:50 +01:00
bootstrap Migrate to VCDK 2025-06-17 11:57:09 +02:00
configure.ac build: Don't use vcs_vmod_version if not present 2025-07-09 15:24:58 +02:00
CONTRIBUTING.rst document the gcc requirement 2016-11-07 13:37:46 +01:00
INSTALL.rst typo 2016-10-10 08:19:13 +02:00
LICENSE Standardize LICENSE 2022-12-01 16:15:32 +01:00
Makefile.am CI: Add coverage target to Makefile 2025-07-09 12:08:43 +02:00
README.rst README refactoring 2025-07-09 12:06:13 +02:00

===============
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