Welcome to little lamb

Code » limb » commit 0eba5eb

Add copyright/license header to files

author Olivier Brunel
2023-03-15 09:12:50 UTC
committer Olivier Brunel
2023-03-17 14:39:22 UTC
parent b12e89647cde1e0c71392dfac814996c0c43ec65

Add copyright/license header to files

include/blake3.h +6 -0
include/err.h +3 -0
include/hmap.h +3 -0
include/limb/blake3.h +3 -0
include/limb/buffer.h +3 -0
include/limb/direntry.h +3 -0
include/limb/djbunix.h +3 -0
include/limb/exitcode.h +3 -0
include/limb/hlookup.h +3 -0
include/limb/hmap.h +3 -0
include/limb/int.h +3 -0
include/limb/nextsplit.h +3 -0
include/limb/output.h +3 -0
include/limb/saencdata.h +3 -0
include/limb/samisc.h +3 -0
include/limb/sha3.h +3 -0
include/limb/siovec.h +3 -0
include/limb/u16.h +3 -0
include/limb/u32.h +3 -0
include/limb/u64.h +3 -0
include/limb/uint64.h +3 -0
include/limb/unix-transactional.h +3 -0
include/sha3/byte_order.h +5 -1
include/sha3/sha3.h +5 -0
meta/AUTHORS +1 -0
src/blake3/blake3.c +3 -0
src/blake3/blake3_avx2.c +6 -0
src/blake3/blake3_avx512.c +6 -0
src/blake3/blake3_dispatch.c +6 -0
src/blake3/blake3_impl.c +6 -0
src/blake3/blake3_portable.c +6 -0
src/blake3/blake3_sse2.c +6 -0
src/blake3/blake3_sse41.c +6 -0
src/buffer_putesc.c +3 -0
src/buffer_putescall.c +3 -0
src/buffer_putescs.c +3 -0
src/hlookup.c +5 -0
src/hlookup32.c +3 -0
src/hlookup64.c +3 -0
src/hmap/grow.c +3 -0
src/hmap/hmap_free.c +3 -0
src/hmap/hmap_get.c +3 -0
src/hmap/hmap_init.c +3 -0
src/hmap/hmap_set.c +3 -0
src/hmap/lookup.c +3 -0
src/msb64.c +3 -0
src/nextsplit_ae.c +3 -0
src/nextsplit_buz.c +3 -0
src/nextsplit_rabin.c +3 -0
src/open_createat.c +3 -0
src/open_exclat.c +3 -0
src/openc_createat.c +3 -0
src/openc_exclat.c +3 -0
src/opendirat.c +3 -0
src/put.c +3 -0
src/rm_rf_in_tmpat.c +3 -0
src/rm_rf_tmpat.c +3 -0
src/rm_rfat.c +3 -0
src/rmstar_in_tmpat.c +3 -0
src/rmstar_tmpat.c +3 -0
src/rmstarat.c +3 -0
src/sacoloff.c +3 -0
src/sacolptr.c +3 -0
src/saencdata.c +3 -0
src/salsat.c +3 -0
src/saoff2ptr.c +3 -0
src/sareadlink0.c +3 -0
src/sareadlinkat.c +3 -0
src/sareadlinkat0.c +3 -0
src/sha3/byte_order.c +5 -15
src/sha3/rhash_sha3_process_block.c +6 -17
src/sha3/sha3.c +3 -0
src/sha3/sha3_final.c +6 -17
src/sha3/sha3_init.c +6 -17
src/sha3/sha3_update.c +6 -17
src/siovec_seek_bytechr.c +3 -0
src/siovec_seek_bytein.c +3 -0
src/siovec_seek_gather.c +3 -0
src/tools/mkrabintables.c +3 -0
src/u640_fmt_generic.c +3 -0
src/u64_fmt_generic.c +3 -0
src/uint64_pack_trim.c +3 -0
src/uint64_unpack_trim.c +3 -0

diff --git a/include/blake3.h b/include/blake3.h
index 22d4753..29cb678 100644
--- a/include/blake3.h
+++ b/include/blake3.h
@@ -1,3 +1,9 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* Based on official BLAKE3 implementation:
+ *  https://github.com/BLAKE3-team/BLAKE3
+ * Copyright (C) 2019-2020 Samuel Neves and Jack O'Connor */
+/* SPDX-License-Identifier: CC0-1.0 OR Apache-2.0 */
 #ifndef LIMB_BLAKE3_BLAKE3_H
 #define LIMB_BLAKE3_BLAKE3_H
 
diff --git a/include/err.h b/include/err.h
index 8f18fc2..867b1c8 100644
--- a/include/err.h
+++ b/include/err.h
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #ifndef LIMB_ERR_H
 #define LIMB_ERR_H
 
diff --git a/include/hmap.h b/include/hmap.h
index 3087ebe..4f5b570 100644
--- a/include/hmap.h
+++ b/include/hmap.h
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #ifndef LIMB_INTERNAL_HMAP_H
 #define LIMB_INTERNAL_HMAP_H
 
diff --git a/include/limb/blake3.h b/include/limb/blake3.h
index 36691ff..9870e59 100644
--- a/include/limb/blake3.h
+++ b/include/limb/blake3.h
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #ifndef LIMB_BLAKE3_H
 #define LIMB_BLAKE3_H
 
diff --git a/include/limb/buffer.h b/include/limb/buffer.h
index fec9e7c..1b7c4e5 100644
--- a/include/limb/buffer.h
+++ b/include/limb/buffer.h
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #ifndef LIMB_BUFFER_H
 #define LIMB_BUFFER_H
 
diff --git a/include/limb/direntry.h b/include/limb/direntry.h
index f78022b..c7356e7 100644
--- a/include/limb/direntry.h
+++ b/include/limb/direntry.h
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #ifndef LIMB_DIRENTRY_H
 #define LIMB_DIRENTRY_H
 
diff --git a/include/limb/djbunix.h b/include/limb/djbunix.h
index 79f46ae..d9cf4d0 100644
--- a/include/limb/djbunix.h
+++ b/include/limb/djbunix.h
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #ifndef LIMB_DJBUNIX_H
 #define LIMB_DJBUNIX_H
 
diff --git a/include/limb/exitcode.h b/include/limb/exitcode.h
index a7ea7a0..8280e7a 100644
--- a/include/limb/exitcode.h
+++ b/include/limb/exitcode.h
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #ifndef LIMB_EXITCODE_H
 #define LIMB_EXITCODE_H
 
diff --git a/include/limb/hlookup.h b/include/limb/hlookup.h
index 9f63016..506e0e6 100644
--- a/include/limb/hlookup.h
+++ b/include/limb/hlookup.h
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #ifndef LIMB_HLOOKUP_H
 #define LIMB_HLOOKUP_H
 
diff --git a/include/limb/hmap.h b/include/limb/hmap.h
index 7d62636..f186091 100644
--- a/include/limb/hmap.h
+++ b/include/limb/hmap.h
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #ifndef LIMB_HMAP_H
 #define LIMB_HMAP_H
 
diff --git a/include/limb/int.h b/include/limb/int.h
index a71ec72..c82dadf 100644
--- a/include/limb/int.h
+++ b/include/limb/int.h
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #ifndef LIMB_INT_H
 #define LIMB_INT_H
 
diff --git a/include/limb/nextsplit.h b/include/limb/nextsplit.h
index cbfc14e..c71851e 100644
--- a/include/limb/nextsplit.h
+++ b/include/limb/nextsplit.h
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #ifndef LIMB_NEXTSPLIT_H
 #define LIMB_NEXTSPLIT_H
 
diff --git a/include/limb/output.h b/include/limb/output.h
index a34c3bd..d5f5a3e 100644
--- a/include/limb/output.h
+++ b/include/limb/output.h
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #ifndef LIMB_OUTPUT_H
 #define LIMB_OUTPUT_H
 
diff --git a/include/limb/saencdata.h b/include/limb/saencdata.h
index 7d3cdd0..e0c0cae 100644
--- a/include/limb/saencdata.h
+++ b/include/limb/saencdata.h
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #ifndef LIMB_SAENCDATA_h
 #define LIMB_SAENCDATA_h
 
diff --git a/include/limb/samisc.h b/include/limb/samisc.h
index 0c32b25..abd1648 100644
--- a/include/limb/samisc.h
+++ b/include/limb/samisc.h
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #ifndef LIMB_SAMISC_H
 #define LIMB_SAMISC_H
 
diff --git a/include/limb/sha3.h b/include/limb/sha3.h
index 16bc802..096f67a 100644
--- a/include/limb/sha3.h
+++ b/include/limb/sha3.h
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #ifndef LIMB_SHA3_H
 #define LIMB_SHA3_H
 
diff --git a/include/limb/siovec.h b/include/limb/siovec.h
index a8e074a..fc33e5b 100644
--- a/include/limb/siovec.h
+++ b/include/limb/siovec.h
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #ifndef LIMB_SIOVEC_H
 #define LIMB_SIOVEC_H
 
diff --git a/include/limb/u16.h b/include/limb/u16.h
index 8fada79..200841b 100644
--- a/include/limb/u16.h
+++ b/include/limb/u16.h
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #ifndef LIMB_U16_H
 #define LIMB_U16_H
 
diff --git a/include/limb/u32.h b/include/limb/u32.h
index ade1da1..5e1dc62 100644
--- a/include/limb/u32.h
+++ b/include/limb/u32.h
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #ifndef LIMB_U32_H
 #define LIMB_U32_H
 
diff --git a/include/limb/u64.h b/include/limb/u64.h
index 32b95f3..5d0647c 100644
--- a/include/limb/u64.h
+++ b/include/limb/u64.h
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #ifndef LIMB_U64_H
 #define LIMB_U64_H
 
diff --git a/include/limb/uint64.h b/include/limb/uint64.h
index f0a7c2b..e550e76 100644
--- a/include/limb/uint64.h
+++ b/include/limb/uint64.h
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #ifndef LIMB_UINT64_H
 #define LIMB_UINT64_H
 
diff --git a/include/limb/unix-transactional.h b/include/limb/unix-transactional.h
index 43e7b3a..736dc96 100644
--- a/include/limb/unix-transactional.h
+++ b/include/limb/unix-transactional.h
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #ifndef LIMB_UNIXTRANSACTIONAL_H
 #define LIMB_UNIXTRANSACTIONAL_H
 
diff --git a/include/sha3/byte_order.h b/include/sha3/byte_order.h
index 91d6671..1807119 100644
--- a/include/sha3/byte_order.h
+++ b/include/sha3/byte_order.h
@@ -1,4 +1,8 @@
-/* byte_order.h */
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* Based on RHash: http://rhash.sourceforge.net/
+ * Copyright (c) 2005 Aleksey Kravchenko */
+/* SPDX-License-Identifier: 0BSD */
 #ifndef BYTE_ORDER_H
 #define BYTE_ORDER_H
 #include <unistd.h>
diff --git a/include/sha3/sha3.h b/include/sha3/sha3.h
index 5cae579..bca8e42 100644
--- a/include/sha3/sha3.h
+++ b/include/sha3/sha3.h
@@ -1,3 +1,8 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* Based on RHash: http://rhash.sourceforge.net/
+ * Copyright (c) 2005 Aleksey Kravchenko */
+/* SPDX-License-Identifier: 0BSD */
 #ifndef LIMB_SHA3_SHA3_H
 #define LIMB_SHA3_SHA3_H
 
diff --git a/meta/AUTHORS b/meta/AUTHORS
index 9b10f1c..88fcb48 100644
--- a/meta/AUTHORS
+++ b/meta/AUTHORS
@@ -10,4 +10,5 @@ Contributors:
 * Yucheng Zhang [nextsplit_ae]
 
 Thanks to:
+* Laurent Bercot
 * Min Fu
diff --git a/src/blake3/blake3.c b/src/blake3/blake3.c
index 6bf297c..fe1e8e8 100644
--- a/src/blake3/blake3.c
+++ b/src/blake3/blake3.c
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include "blake3.h"
 
 void
diff --git a/src/blake3/blake3_avx2.c b/src/blake3/blake3_avx2.c
index f9590d6..8816d72 100644
--- a/src/blake3/blake3_avx2.c
+++ b/src/blake3/blake3_avx2.c
@@ -1,3 +1,9 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* Based on official BLAKE3 implementation:
+ *  https://github.com/BLAKE3-team/BLAKE3
+ * Copyright (C) 2019-2020 Samuel Neves and Jack O'Connor */
+/* SPDX-License-Identifier: CC0-1.0 OR Apache-2.0 */
 #include "blake3.h"
 
 #include <immintrin.h>
diff --git a/src/blake3/blake3_avx512.c b/src/blake3/blake3_avx512.c
index 69f325c..edab13b 100644
--- a/src/blake3/blake3_avx512.c
+++ b/src/blake3/blake3_avx512.c
@@ -1,3 +1,9 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* Based on official BLAKE3 implementation:
+ *  https://github.com/BLAKE3-team/BLAKE3
+ * Copyright (C) 2019-2020 Samuel Neves and Jack O'Connor */
+/* SPDX-License-Identifier: CC0-1.0 OR Apache-2.0 */
 #include "blake3.h"
 
 #include <immintrin.h>
diff --git a/src/blake3/blake3_dispatch.c b/src/blake3/blake3_dispatch.c
index c571d1e..fb7e7f6 100644
--- a/src/blake3/blake3_dispatch.c
+++ b/src/blake3/blake3_dispatch.c
@@ -1,3 +1,9 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* Based on official BLAKE3 implementation:
+ *  https://github.com/BLAKE3-team/BLAKE3
+ * Copyright (C) 2019-2020 Samuel Neves and Jack O'Connor */
+/* SPDX-License-Identifier: CC0-1.0 OR Apache-2.0 */
 #include "blake3.h"
 
 #if defined(IS_X86)
diff --git a/src/blake3/blake3_impl.c b/src/blake3/blake3_impl.c
index 7424ee1..1b13ad6 100644
--- a/src/blake3/blake3_impl.c
+++ b/src/blake3/blake3_impl.c
@@ -1,3 +1,9 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* Based on official BLAKE3 implementation:
+ *  https://github.com/BLAKE3-team/BLAKE3
+ * Copyright (C) 2019-2020 Samuel Neves and Jack O'Connor */
+/* SPDX-License-Identifier: CC0-1.0 OR Apache-2.0 */
 #include <assert.h>
 #include "blake3.h"
 
diff --git a/src/blake3/blake3_portable.c b/src/blake3/blake3_portable.c
index 480c582..70c03fb 100644
--- a/src/blake3/blake3_portable.c
+++ b/src/blake3/blake3_portable.c
@@ -1,3 +1,9 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* Based on official BLAKE3 implementation:
+ *  https://github.com/BLAKE3-team/BLAKE3
+ * Copyright (C) 2019-2020 Samuel Neves and Jack O'Connor */
+/* SPDX-License-Identifier: CC0-1.0 OR Apache-2.0 */
 #include "blake3.h"
 
 INLINE u32
diff --git a/src/blake3/blake3_sse2.c b/src/blake3/blake3_sse2.c
index 75cd5a3..591c9e2 100644
--- a/src/blake3/blake3_sse2.c
+++ b/src/blake3/blake3_sse2.c
@@ -1,3 +1,9 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* Based on official BLAKE3 implementation:
+ *  https://github.com/BLAKE3-team/BLAKE3
+ * Copyright (C) 2019-2020 Samuel Neves and Jack O'Connor */
+/* SPDX-License-Identifier: CC0-1.0 OR Apache-2.0 */
 #include "blake3.h"
 
 #include <immintrin.h>
diff --git a/src/blake3/blake3_sse41.c b/src/blake3/blake3_sse41.c
index 0be9528..563d87d 100644
--- a/src/blake3/blake3_sse41.c
+++ b/src/blake3/blake3_sse41.c
@@ -1,3 +1,9 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* Based on official BLAKE3 implementation:
+ *  https://github.com/BLAKE3-team/BLAKE3
+ * Copyright (C) 2019-2020 Samuel Neves and Jack O'Connor */
+/* SPDX-License-Identifier: CC0-1.0 OR Apache-2.0 */
 #include "blake3.h"
 
 #include <immintrin.h>
diff --git a/src/buffer_putesc.c b/src/buffer_putesc.c
index b56c12e..c96cd82 100644
--- a/src/buffer_putesc.c
+++ b/src/buffer_putesc.c
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include <errno.h>
 #include "limb/buffer.h"
 
diff --git a/src/buffer_putescall.c b/src/buffer_putescall.c
index 370cafc..84daa3d 100644
--- a/src/buffer_putescall.c
+++ b/src/buffer_putescall.c
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include <errno.h>
 #include <string.h>
 #include <ctype.h>
diff --git a/src/buffer_putescs.c b/src/buffer_putescs.c
index c1f6671..be94544 100644
--- a/src/buffer_putescs.c
+++ b/src/buffer_putescs.c
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include <string.h>
 #include "limb/buffer.h"
 
diff --git a/src/hlookup.c b/src/hlookup.c
index c6ade00..5b1f270 100644
--- a/src/hlookup.c
+++ b/src/hlookup.c
@@ -1,3 +1,8 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* Based on hashlittle2 (lookup3)
+ * Copyright (C) 2006 Bob Jenkins -- Public Domain */
+/* SPDX-License-Identifier: ISC */
 #include "limb/hlookup.h"
 #include "config.h"
 
diff --git a/src/hlookup32.c b/src/hlookup32.c
index 437e5c1..0dcbbd9 100644
--- a/src/hlookup32.c
+++ b/src/hlookup32.c
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include "limb/hlookup.h"
 
 u32
diff --git a/src/hlookup64.c b/src/hlookup64.c
index 8064811..3052e87 100644
--- a/src/hlookup64.c
+++ b/src/hlookup64.c
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include "limb/hlookup.h"
 
 u64
diff --git a/src/hmap/grow.c b/src/hmap/grow.c
index 05aadc0..687e3e2 100644
--- a/src/hmap/grow.c
+++ b/src/hmap/grow.c
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include "hmap.h"
 
 static void
diff --git a/src/hmap/hmap_free.c b/src/hmap/hmap_free.c
index 57ffcd4..849e486 100644
--- a/src/hmap/hmap_free.c
+++ b/src/hmap/hmap_free.c
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include "hmap.h"
 
 void
diff --git a/src/hmap/hmap_get.c b/src/hmap/hmap_get.c
index b617fb7..a7cafed 100644
--- a/src/hmap/hmap_get.c
+++ b/src/hmap/hmap_get.c
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include "hmap.h"
 
 void *
diff --git a/src/hmap/hmap_init.c b/src/hmap/hmap_init.c
index 0b50d89..300bf34 100644
--- a/src/hmap/hmap_init.c
+++ b/src/hmap/hmap_init.c
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include <errno.h>
 #include "limb/uint64.h"
 #include "hmap.h"
diff --git a/src/hmap/hmap_set.c b/src/hmap/hmap_set.c
index d51b614..d2a19d7 100644
--- a/src/hmap/hmap_set.c
+++ b/src/hmap/hmap_set.c
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include <errno.h>
 #include "hmap.h"
 
diff --git a/src/hmap/lookup.c b/src/hmap/lookup.c
index aef3067..bf3c2f8 100644
--- a/src/hmap/lookup.c
+++ b/src/hmap/lookup.c
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include "hmap.h"
 
 struct item *
diff --git a/src/msb64.c b/src/msb64.c
index 914fddb..c87611c 100644
--- a/src/msb64.c
+++ b/src/msb64.c
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include <skalibs/sysdeps.h>
 #include "limb/int.h"
 
diff --git a/src/nextsplit_ae.c b/src/nextsplit_ae.c
index 7150271..de071bb 100644
--- a/src/nextsplit_ae.c
+++ b/src/nextsplit_ae.c
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include <endian.h>
 #include "limb/nextsplit.h"
 #include "limb/int.h"
diff --git a/src/nextsplit_buz.c b/src/nextsplit_buz.c
index 5d122ed..3916044 100644
--- a/src/nextsplit_buz.c
+++ b/src/nextsplit_buz.c
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: BSD-3-Clause */
 /* Original code from BorgBackup:
  * Copyright (C) 2015-2022 The Borg Collective
  * Copyright (C) 2010-2014 Jonas Borgström <jonas@borgstrom.se>
diff --git a/src/nextsplit_rabin.c b/src/nextsplit_rabin.c
index 7adbf17..2926534 100644
--- a/src/nextsplit_rabin.c
+++ b/src/nextsplit_rabin.c
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include "limb/nextsplit.h"
 #include "limb/uint64.h"
 #include "limb/rabin-tables.h"
diff --git a/src/open_createat.c b/src/open_createat.c
index fcc59fc..1db02dd 100644
--- a/src/open_createat.c
+++ b/src/open_createat.c
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include <fcntl.h>
 #include <skalibs/unix-transactional.h>
 #include "limb/unix-transactional.h"
diff --git a/src/open_exclat.c b/src/open_exclat.c
index bf5f89e..1edef20 100644
--- a/src/open_exclat.c
+++ b/src/open_exclat.c
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include <fcntl.h>
 #include <skalibs/unix-transactional.h>
 #include "limb/unix-transactional.h"
diff --git a/src/openc_createat.c b/src/openc_createat.c
index aca4886..66adb96 100644
--- a/src/openc_createat.c
+++ b/src/openc_createat.c
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include <fcntl.h>
 #include <skalibs/unix-transactional.h>
 #include "limb/unix-transactional.h"
diff --git a/src/openc_exclat.c b/src/openc_exclat.c
index e3066b9..9c9d51f 100644
--- a/src/openc_exclat.c
+++ b/src/openc_exclat.c
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include <fcntl.h>
 #include <skalibs/unix-transactional.h>
 #include "limb/unix-transactional.h"
diff --git a/src/opendirat.c b/src/opendirat.c
index e10689d..6af91f3 100644
--- a/src/opendirat.c
+++ b/src/opendirat.c
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include <skalibs/djbunix.h>
 #include <skalibs/unix-transactional.h>
 #include "limb/direntry.h"
diff --git a/src/put.c b/src/put.c
index 2c03351..ba5f8c0 100644
--- a/src/put.c
+++ b/src/put.c
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include <errno.h>
 #include <unistd.h> /* _exit() */
 #include "limb/buffer.h"
diff --git a/src/rm_rf_in_tmpat.c b/src/rm_rf_in_tmpat.c
index 6d290a7..791c510 100644
--- a/src/rm_rf_in_tmpat.c
+++ b/src/rm_rf_in_tmpat.c
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include <errno.h>
 #include <fcntl.h>
 #include <unistd.h>
diff --git a/src/rm_rf_tmpat.c b/src/rm_rf_tmpat.c
index 7fa682e..6fc88b4 100644
--- a/src/rm_rf_tmpat.c
+++ b/src/rm_rf_tmpat.c
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include "limb/djbunix.h"
 
 int
diff --git a/src/rm_rfat.c b/src/rm_rfat.c
index b91b800..9f6199f 100644
--- a/src/rm_rfat.c
+++ b/src/rm_rfat.c
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include <skalibs/skamisc.h>
 #include "limb/djbunix.h"
 
diff --git a/src/rmstar_in_tmpat.c b/src/rmstar_in_tmpat.c
index d0b6302..de271ca 100644
--- a/src/rmstar_in_tmpat.c
+++ b/src/rmstar_in_tmpat.c
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include "limb/djbunix.h"
 
 int
diff --git a/src/rmstar_tmpat.c b/src/rmstar_tmpat.c
index cf7e423..bf2423b 100644
--- a/src/rmstar_tmpat.c
+++ b/src/rmstar_tmpat.c
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include "limb/djbunix.h"
 
 int
diff --git a/src/rmstarat.c b/src/rmstarat.c
index 22ec1c8..e8336d2 100644
--- a/src/rmstarat.c
+++ b/src/rmstarat.c
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include <skalibs/skamisc.h>
 #include "limb/djbunix.h"
 
diff --git a/src/sacoloff.c b/src/sacoloff.c
index 25ea28e..987d17a 100644
--- a/src/sacoloff.c
+++ b/src/sacoloff.c
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include <stdint.h> /* uintptr_t */
 #include "limb/samisc.h"
 
diff --git a/src/sacolptr.c b/src/sacolptr.c
index 4193581..542f0bd 100644
--- a/src/sacolptr.c
+++ b/src/sacolptr.c
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include "limb/samisc.h"
 
 int
diff --git a/src/saencdata.c b/src/saencdata.c
index 0c774b3..a5634bc 100644
--- a/src/saencdata.c
+++ b/src/saencdata.c
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include "limb/saencdata.h"
 #include "limb/u16.h"
 #include "limb/u64.h"
diff --git a/src/salsat.c b/src/salsat.c
index c334b84..8aaa396 100644
--- a/src/salsat.c
+++ b/src/salsat.c
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include <errno.h>
 #include <dirent.h>
 #include "limb/direntry.h"
diff --git a/src/saoff2ptr.c b/src/saoff2ptr.c
index 08e1546..08692f3 100644
--- a/src/saoff2ptr.c
+++ b/src/saoff2ptr.c
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include <stdint.h> /* uintptr_t */
 #include "limb/samisc.h"
 
diff --git a/src/sareadlink0.c b/src/sareadlink0.c
index 61865c7..03ba44a 100644
--- a/src/sareadlink0.c
+++ b/src/sareadlink0.c
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include <skalibs/djbunix.h>
 
 int
diff --git a/src/sareadlinkat.c b/src/sareadlinkat.c
index 8e46c2d..b844750 100644
--- a/src/sareadlinkat.c
+++ b/src/sareadlinkat.c
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include <unistd.h>
 #include "limb/djbunix.h"
 
diff --git a/src/sareadlinkat0.c b/src/sareadlinkat0.c
index 0c5adea..95e11b9 100644
--- a/src/sareadlinkat0.c
+++ b/src/sareadlinkat0.c
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include "limb/djbunix.h"
 
 int
diff --git a/src/sha3/byte_order.c b/src/sha3/byte_order.c
index a4491cf..4f22004 100644
--- a/src/sha3/byte_order.c
+++ b/src/sha3/byte_order.c
@@ -1,18 +1,8 @@
-/* byte_order.c - byte order related platform dependent routines,
- *
- * Copyright (c) 2008, Aleksey Kravchenko <rhash.admin@gmail.com>
- *
- * Permission to use, copy, modify, and/or distribute this software for any
- * purpose with or without fee is hereby granted.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
- * REGARD TO THIS SOFTWARE  INCLUDING ALL IMPLIED WARRANTIES OF  MERCHANTABILITY
- * AND FITNESS.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT,  OR CONSEQUENTIAL DAMAGES  OR ANY DAMAGES WHATSOEVER RESULTING FROM
- * LOSS OF USE,  DATA OR PROFITS,  WHETHER IN AN ACTION OF CONTRACT,  NEGLIGENCE
- * OR OTHER TORTIOUS ACTION,  ARISING OUT OF  OR IN CONNECTION  WITH THE USE  OR
- * PERFORMANCE OF THIS SOFTWARE.
- */
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* Based on RHash: http://rhash.sourceforge.net/
+ * Copyright (c) 2008 Aleksey Kravchenko */
+/* SPDX-License-Identifier: 0BSD */
 #include "sha3/byte_order.h"
 
 #ifndef rhash_ctz
diff --git a/src/sha3/rhash_sha3_process_block.c b/src/sha3/rhash_sha3_process_block.c
index 4cd8cc2..2143610 100644
--- a/src/sha3/rhash_sha3_process_block.c
+++ b/src/sha3/rhash_sha3_process_block.c
@@ -1,21 +1,10 @@
-/* sha3.c - an implementation of Secure Hash Algorithm 3 (Keccak)
- * based on the
- * The Keccak SHA-3 submission. Submission to NIST (Round 3), 2011
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* Based on RHash: http://rhash.sourceforge.net/
+ * Based on The Keccak SHA-3 submission. Submission to NIST (Round 3), 2011
  * by Guido Bertoni, Joan Daemen, Michaël Peeters and Gilles Van Assche
- *
- * Copyright (c) 2013, Aleksey Kravchenko <rhash.admin@gmail.com>
- *
- * Permission to use, copy, modify, and/or distribute this software for any
- * purpose with or without fee is hereby granted.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
- * REGARD TO THIS SOFTWARE  INCLUDING ALL IMPLIED WARRANTIES OF  MERCHANTABILITY
- * AND FITNESS.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT,  OR CONSEQUENTIAL DAMAGES  OR ANY DAMAGES WHATSOEVER RESULTING FROM
- * LOSS OF USE,  DATA OR PROFITS,  WHETHER IN AN ACTION OF CONTRACT,  NEGLIGENCE
- * OR OTHER TORTIOUS ACTION,  ARISING OUT OF  OR IN CONNECTION  WITH THE USE  OR
- * PERFORMANCE OF THIS SOFTWARE.
- */
+ * Copyright (c) 2013 Aleksey Kravchenko */
+/* SPDX-License-Identifier: 0BSD */
 
 #include <assert.h>
 #include <string.h>
diff --git a/src/sha3/sha3.c b/src/sha3/sha3.c
index b66e82d..adee688 100644
--- a/src/sha3/sha3.c
+++ b/src/sha3/sha3.c
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include "sha3/sha3.h"
 
 void sha3(unsigned char * restrict md, unsigned bits, const void *msg, size_t size)
diff --git a/src/sha3/sha3_final.c b/src/sha3/sha3_final.c
index b57d91c..d77d206 100644
--- a/src/sha3/sha3_final.c
+++ b/src/sha3/sha3_final.c
@@ -1,21 +1,10 @@
-/* sha3.c - an implementation of Secure Hash Algorithm 3 (Keccak)
- * based on the
- * The Keccak SHA-3 submission. Submission to NIST (Round 3), 2011
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* Based on RHash: http://rhash.sourceforge.net/
+ * Based on The Keccak SHA-3 submission. Submission to NIST (Round 3), 2011
  * by Guido Bertoni, Joan Daemen, Michaël Peeters and Gilles Van Assche
- *
- * Copyright (c) 2013, Aleksey Kravchenko <rhash.admin@gmail.com>
- *
- * Permission to use, copy, modify, and/or distribute this software for any
- * purpose with or without fee is hereby granted.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
- * REGARD TO THIS SOFTWARE  INCLUDING ALL IMPLIED WARRANTIES OF  MERCHANTABILITY
- * AND FITNESS.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT,  OR CONSEQUENTIAL DAMAGES  OR ANY DAMAGES WHATSOEVER RESULTING FROM
- * LOSS OF USE,  DATA OR PROFITS,  WHETHER IN AN ACTION OF CONTRACT,  NEGLIGENCE
- * OR OTHER TORTIOUS ACTION,  ARISING OUT OF  OR IN CONNECTION  WITH THE USE  OR
- * PERFORMANCE OF THIS SOFTWARE.
- */
+ * Copyright (c) 2013 Aleksey Kravchenko */
+/* SPDX-License-Identifier: 0BSD */
 
 #include <assert.h>
 #include <string.h>
diff --git a/src/sha3/sha3_init.c b/src/sha3/sha3_init.c
index 296cba2..e0d5636 100644
--- a/src/sha3/sha3_init.c
+++ b/src/sha3/sha3_init.c
@@ -1,21 +1,10 @@
-/* sha3.c - an implementation of Secure Hash Algorithm 3 (Keccak)
- * based on the
- * The Keccak SHA-3 submission. Submission to NIST (Round 3), 2011
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* Based on RHash: http://rhash.sourceforge.net/
+ * Based on The Keccak SHA-3 submission. Submission to NIST (Round 3), 2011
  * by Guido Bertoni, Joan Daemen, Michaël Peeters and Gilles Van Assche
- *
- * Copyright (c) 2013, Aleksey Kravchenko <rhash.admin@gmail.com>
- *
- * Permission to use, copy, modify, and/or distribute this software for any
- * purpose with or without fee is hereby granted.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
- * REGARD TO THIS SOFTWARE  INCLUDING ALL IMPLIED WARRANTIES OF  MERCHANTABILITY
- * AND FITNESS.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT,  OR CONSEQUENTIAL DAMAGES  OR ANY DAMAGES WHATSOEVER RESULTING FROM
- * LOSS OF USE,  DATA OR PROFITS,  WHETHER IN AN ACTION OF CONTRACT,  NEGLIGENCE
- * OR OTHER TORTIOUS ACTION,  ARISING OUT OF  OR IN CONNECTION  WITH THE USE  OR
- * PERFORMANCE OF THIS SOFTWARE.
- */
+ * Copyright (c) 2013 Aleksey Kravchenko */
+/* SPDX-License-Identifier: 0BSD */
 
 #include <assert.h>
 #include <string.h>
diff --git a/src/sha3/sha3_update.c b/src/sha3/sha3_update.c
index 3662a71..1738e51 100644
--- a/src/sha3/sha3_update.c
+++ b/src/sha3/sha3_update.c
@@ -1,21 +1,10 @@
-/* sha3.c - an implementation of Secure Hash Algorithm 3 (Keccak)
- * based on the
- * The Keccak SHA-3 submission. Submission to NIST (Round 3), 2011
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* Based on RHash: http://rhash.sourceforge.net/
+ * Based on The Keccak SHA-3 submission. Submission to NIST (Round 3), 2011
  * by Guido Bertoni, Joan Daemen, Michaël Peeters and Gilles Van Assche
- *
- * Copyright (c) 2013, Aleksey Kravchenko <rhash.admin@gmail.com>
- *
- * Permission to use, copy, modify, and/or distribute this software for any
- * purpose with or without fee is hereby granted.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
- * REGARD TO THIS SOFTWARE  INCLUDING ALL IMPLIED WARRANTIES OF  MERCHANTABILITY
- * AND FITNESS.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT,  OR CONSEQUENTIAL DAMAGES  OR ANY DAMAGES WHATSOEVER RESULTING FROM
- * LOSS OF USE,  DATA OR PROFITS,  WHETHER IN AN ACTION OF CONTRACT,  NEGLIGENCE
- * OR OTHER TORTIOUS ACTION,  ARISING OUT OF  OR IN CONNECTION  WITH THE USE  OR
- * PERFORMANCE OF THIS SOFTWARE.
- */
+ * Copyright (c) 2013 Aleksey Kravchenko */
+/* SPDX-License-Identifier: 0BSD */
 
 #include <assert.h>
 #include <string.h>
diff --git a/src/siovec_seek_bytechr.c b/src/siovec_seek_bytechr.c
index 26cb13b..8ca41ba 100644
--- a/src/siovec_seek_bytechr.c
+++ b/src/siovec_seek_bytechr.c
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include "limb/siovec.h"
 
 size_t
diff --git a/src/siovec_seek_bytein.c b/src/siovec_seek_bytein.c
index bc5d51c..9ee7027 100644
--- a/src/siovec_seek_bytein.c
+++ b/src/siovec_seek_bytein.c
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include "limb/siovec.h"
 
 size_t
diff --git a/src/siovec_seek_gather.c b/src/siovec_seek_gather.c
index b1f876f..e13a6f9 100644
--- a/src/siovec_seek_gather.c
+++ b/src/siovec_seek_gather.c
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include "limb/siovec.h"
 
 size_t
diff --git a/src/tools/mkrabintables.c b/src/tools/mkrabintables.c
index a09fa07..f0b2495 100644
--- a/src/tools/mkrabintables.c
+++ b/src/tools/mkrabintables.c
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include <skalibs/uint16.h>
 #include "limb/uint64.h"
 #include "limb/output.h"
diff --git a/src/u640_fmt_generic.c b/src/u640_fmt_generic.c
index fd1ff8f..d45285f 100644
--- a/src/u640_fmt_generic.c
+++ b/src/u640_fmt_generic.c
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include <string.h>
 #include "limb/u64.h"
 
diff --git a/src/u64_fmt_generic.c b/src/u64_fmt_generic.c
index fb3ff18..d044406 100644
--- a/src/u64_fmt_generic.c
+++ b/src/u64_fmt_generic.c
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include <skalibs/fmtscan.h>
 #include "limb/u64.h"
 
diff --git a/src/uint64_pack_trim.c b/src/uint64_pack_trim.c
index 7291506..7b776a4 100644
--- a/src/uint64_pack_trim.c
+++ b/src/uint64_pack_trim.c
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include <skalibs/uint64.h>
 #include "limb/uint64.h"
 
diff --git a/src/uint64_unpack_trim.c b/src/uint64_unpack_trim.c
index 05ccf93..2881f38 100644
--- a/src/uint64_unpack_trim.c
+++ b/src/uint64_unpack_trim.c
@@ -1,3 +1,6 @@
+/* This file is part of limb                           https://lila.oss/limb
+ * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #include "limb/uint64.h"
 
 int