Go to file
Marcel Cornu fa5b8baf84 include: reformat using new code style
Signed-off-by: Marcel Cornu <marcel.d.cornu@intel.com>
2024-04-22 11:35:03 +02:00
.github/workflows Run macos-13 (actual x86_64 latest) and macos-14 (arm64) CIs 2024-03-25 15:34:01 +00:00
crc crc: reformat using new code style 2024-04-22 11:35:03 +02:00
doc doc: Add notes on reentrancy and threading 2023-07-19 13:11:43 -07:00
erasure_code erasure_code: reformat using new code style 2024-04-22 11:35:03 +02:00
examples examples: reformat using new code style 2024-04-22 11:35:03 +02:00
igzip igzip: reformat using new code style 2024-04-22 11:35:03 +02:00
include include: reformat using new code style 2024-04-22 11:35:03 +02:00
mem mem_zero_detect_test: fix for issue reported by static code analysis 2023-12-19 20:36:39 +00:00
programs Fix a handful of spelling mistakes and typos 2024-02-06 15:03:14 +00:00
raid Fix a handful of spelling mistakes and typos 2024-02-06 15:03:14 +00:00
tests/fuzz igzip: several fixes for issues reported by static code analysis 2023-12-19 20:36:39 +00:00
tools tools: use clang-format for style checking 2024-04-22 11:35:03 +02:00
.clang-format tools: use clang-format for style checking 2024-04-22 11:35:03 +02:00
.clang-format-ignore tools: use clang-format for style checking 2024-04-22 11:35:03 +02:00
.gitignore build: Add gitignore 2019-05-01 16:48:10 -07:00
.travis.yml build: Change travis osx to use std brew 2021-05-21 19:44:39 -07:00
autogen.sh Ignore obsolete warnings when using autoreconf 2023-12-07 13:29:03 +00:00
configure.ac Bump version to v2.31 2024-01-18 18:27:24 +00:00
CONTRIBUTING.md tools: use clang-format for style checking 2024-04-22 11:35:03 +02:00
Doxyfile doc: Add security policy file 2022-07-18 19:53:53 -07:00
isa-l.def igzip: add zlib header init function 2023-12-20 14:05:52 +00:00
isa-l.rc build: Add ms rc file to put extra metatdata on dll 2021-09-02 18:27:51 -07:00
libisal.pc.in Initial commit isa-l v2.14.1 2016-02-24 14:54:34 -07:00
LICENSE Update License file 2024-01-09 09:42:48 +00:00
make.inc build: allow alternative compiler 2024-03-14 13:41:41 +00:00
Makefile.am Bump version to v2.31 2024-01-18 18:27:24 +00:00
Makefile.nmake Bump version to v2.31 2024-01-18 18:27:24 +00:00
Makefile.unx build: Add auto regenerate of nmake file 2020-03-10 14:00:05 -07:00
README.md Add CI/Coverity/OpenSSF scorecard badges 2024-03-19 21:30:50 +00:00
Release_notes.txt Fix a handful of spelling mistakes and typos 2024-02-06 15:03:14 +00:00
SECURITY.md doc: Add security policy file 2022-07-18 19:53:53 -07:00

Intel(R) Intelligent Storage Acceleration Library

Continuous Integration Package on conda-forge Coverity Status OpenSSF Scorecard

ISA-L is a collection of optimized low-level functions targeting storage applications. ISA-L includes:

  • Erasure codes - Fast block Reed-Solomon type erasure codes for any encode/decode matrix in GF(2^8).
  • CRC - Fast implementations of cyclic redundancy check. Six different polynomials supported.
    • iscsi32, ieee32, t10dif, ecma64, iso64, jones64, rocksoft64.
  • Raid - calculate and operate on XOR and P+Q parity found in common RAID implementations.
  • Compression - Fast deflate-compatible data compression.
  • De-compression - Fast inflate-compatible data compression.
  • igzip - A command line application like gzip, accelerated with ISA-L.

Also see:

Building ISA-L

Prerequisites

  • Make: GNU 'make' or 'nmake' (Windows).
  • Optional: Building with autotools requires autoconf/automake/libtool packages.
  • Optional: Manual generation requires help2man package.

x86_64:

  • Assembler: nasm. Version 2.15 or later suggested (other versions of nasm and yasm may build but with limited function support).
  • Compiler: gcc, clang, icc or VC compiler.

aarch64:

  • Assembler: gas v2.24 or later.
  • Compiler: gcc v4.7 or later.

other:

  • Compiler: Portable base functions are available that build with most C compilers.

Autotools

To build and install the library with autotools it is usually sufficient to run:

./autogen.sh
./configure
make
sudo make install

Makefile

To use a standard makefile run:

make -f Makefile.unx

Windows

On Windows use nmake to build dll and static lib:

nmake -f Makefile.nmake

or see details on setting up environment here.

Other make targets

Other targets include:

  • make check : create and run tests
  • make tests : create additional unit tests
  • make perfs : create included performance tests
  • make ex : build examples
  • make other : build other utilities such as compression file tests
  • make doc : build API manual

DLL Injection Attack

Problem

The Windows OS has an insecure predefined search order and set of defaults when trying to locate a resource. If the resource location is not specified by the software, an attacker need only place a malicious version in one of the locations Windows will search, and it will be loaded instead. Although this weakness can occur with any resource, it is especially common with DLL files.

Solutions

Applications using libisal DLL library may need to apply one of the solutions to prevent from DLL injection attack.

Two solutions are available:

  • Using a Fully Qualified Path is the most secure way to load a DLL
  • Signature verification of the DLL

Resources and Solution Details