Daniel Kiper
11845da2b1
lib/xzembed/xz_dec_stream: Replace grub_memcpy() call with memcpy()
...
Make the code consistent.
Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com>
Reviewed-by: Alec Brown <alec.r.brown@oracle.com>
2025-10-24 20:05:08 +02:00
Vladimir Serbinenko
0739d24cd1
libgcrypt: Adjust import script, definitions and API users for libgcrypt 1.11
...
This patches modifies the GRUB-libgcrypt API to match new libgcrypt 1.11.
Signed-off-by: Vladimir Serbinenko <phcoder@gmail.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
2025-07-11 23:12:50 +02:00
Vladimir Serbinenko
f0710d2d8f
lib/xzembed/xz_dec_bcj: Silence warning when no BCJ is available
...
BCJ is not available for all platforms hence arguments may end up unused.
Signed-off-by: Vladimir Serbinenko <phcoder@gmail.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
2024-09-05 17:12:06 +02:00
Robbie Harwood
ea780522e1
gnulib: Drop fix-base64.patch
...
Originally added in commit 9fbdec2f (bootstrap: Add gnulib's base64
module) and subsequently modified in commit 552c9fd08 (gnulib: Fix build
of base64 when compiling with memory debugging), fix-base64.patch
handled two problems we have using gnulib, which are exercised by the
base64 module but not directly caused by it.
First, GRUB defines its own bool type, while gnulib expects the
equivalent of stdbool.h to be present. Rather than patching gnulib,
instead use gnulib's stdbool module to provide a bool type if needed
(suggested by Simon Josefsson).
Second, our config.h doesn't always inherit config-util.h, which is
where gnulib-related options like _GL_ATTRIBUTE_CONST end up.
fix-base64.h worked around this by defining the attribute away, but this
workaround is better placed in config.h itself, not a gnulib patch.
Signed-off-by: Robbie Harwood <rharwood@redhat.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
2022-03-21 18:50:13 +01:00
Elyes Haouas
98b5065006
lib: Remove trailing whitespaces
...
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
2022-03-14 15:47:13 +01:00
Vladimir Serbinenko
ad4bfeec5c
Change fs functions to add fs_ prefix
...
This avoid conflict with gnulib
Signed-off-by: Vladimir Serbinenko <phcoder@google.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
2019-04-09 10:03:29 +10:00
Andrei Borzenkov
4bd4a88725
i386, x86_64, ppc: fix switch fallthrough cases with GCC7
...
In util/getroot and efidisk slightly modify exitsing comment to mostly
retain it but still make GCC7 compliant with respect to fall through
annotation.
In grub-core/lib/xzembed/xz_dec_lzma2.c it adds same comments as
upstream.
In grub-core/tests/setjmp_tets.c declare functions as "noreturn" to
suppress GCC7 warning.
In grub-core/gnulib/regexec.c use new __attribute__, because existing
annotation is not recognized by GCC7 parser (which requires that comment
immediately precedes case statement).
Otherwise add FALLTHROUGH comment.
Closes: 50598
2017-04-04 19:23:55 +03:00
Vladimir Serbinenko
2def66169e
* grub-core/lib/xzembed/xz_dec_stream.c: Remove variable length arrays.
2013-11-12 01:26:56 +01:00
Vladimir 'phcoder' Serbinenko
92c88fc896
* grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
...
not doing embedded decompressor.
2013-10-18 17:13:38 +02:00
Vladimir 'phcoder' Serbinenko
64463dfde4
* grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
...
error.
2013-08-23 08:58:34 +02:00
Vladimir 'phcoder' Serbinenko
4a9950ecb0
Fix compilation with older compilers.
...
* grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
* grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
declarations.
* grub-core/lib/posix_wrap/string.h: Include sys/types.h.
* grub-core/lib/posix_wrap/sys/types.h: Add common types.
* grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
identifier with b.
* grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
* include/grub/crypto.h: Add type defines.
* util/import_gcrypth.sed: Remove duplicate type defines.
2013-01-13 21:06:25 +01:00
Vladimir 'phcoder' Serbinenko
e73bb80170
* grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
...
if hash function is unavailable.
(dec_stream_header): Likewise.
2012-07-22 16:27:03 +02:00
Vladimir 'phcoder' Serbinenko
e837738991
* grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
...
for context.
2012-02-29 14:56:51 +01:00
Vladimir 'phcoder' Serbinenko
84f9d341b0
* grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
...
condition to avoid possibly infinite loops.
* grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
* grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
2012-02-22 05:22:39 +01:00
Vladimir 'phcoder' Serbinenko
7816a17ed1
* grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
...
infinite recursion using counter.
* grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
init to skip it if the magic check fails.
(dec_stream_header): Init s->crc32.
2012-01-23 03:39:37 +01:00
Vladimir 'phcoder' Serbinenko
3ec0fc1c3b
Make XZ compression parameters dependent on target and not host CPU.
...
* configure.ac: Define GRUB_TARGET_CPU_XYZ series.
* grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
2012-01-18 13:59:03 +01:00
Vladimir 'phcoder' Serbinenko
c029da8a89
Various squash4 fixes and LZO and XZ support.
...
* Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
Add xzembed source files.
* grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
* grub-core/fs/squash4.c (grub_squash_super): New field compression.
(grub_squash_inode): New subtype long_dir.
(SQUASH_TYPE_LONG_DIR): New inode type.
(COMPRESSION): New enum.
(XZBUFSIZ): New const.
(grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
(read_chunk): Use data->decompress.
(zlib_decompress): New function.
(lzo_decompress): Likewise.
(xz_decompress): Likewise.
(squash_mount): Set new data fields.
(grub_squash_iterate_dir): Handle long dir.
(squash_unmount): Free xzdec and xzbuf.
(grub_squash_open): Check ino type.
(direct_read): Stylistic fixes. Use data->decompress.
(grub_squash_read_data): Likewise.
* grub-core/io/gzio.c (grub_gzio): Remove disk_input.
(get_byte): Likewise.
(grub_zlib_disk_read): Removed.
* grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
(GRUB_POSIX_BOOL_DEFINED): New define.
* grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
* grub-core/lib/xzembed/xz.h: Addmissing includes.
[!GRUB_POSIX_BOOL_DEFINED]: Define bool.
* include/grub/deflate.h (grub_zlib_disk_read): Removed.
2011-12-26 13:18:01 +01:00
Vladimir 'phcoder' Serbinenko
f7ce5bafb5
Fix mips compilation.
...
* grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
normal decoder.
(hashes): Use in embed decoder as well (for sizes).
(dec_stream_header): Fix embed decompressor logic.
(dec_stream_footer): Likewise.
2011-11-11 18:30:34 +01:00
Vladimir 'phcoder' Serbinenko
158dc1ea26
XZ CRC64 and SHA256 support.
...
* Makefile.util.def (libgrubmods): Add crc64.c.
* grub-core/Makefile.core.def (crc64): New module.
* grub-core/lib/crc64.c: New file.
* grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
[!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
Fix the type.
(MAX_HASH_SIZE): New define.
(xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
(dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
(index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
(dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
(crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
(hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
Handle non-crc32 hashes.
(hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
(dec_stream_header): Handle non-crc32 hashes.
(dec_stream_footer): Likewise.
(dec_block_header): Likewise.
(dec_main): Likewise.
(xz_dec_init): Likewise.
(xz_dec_reset): Likewise.
(xz_dec_end): Likewise.
* util/import_gcry.py: Add CRC64 line.
2011-11-03 15:13:30 +01:00
Vladimir 'phcoder' Serbinenko
e0a8ef26e4
MAke a separate scratch for decompressor
2010-09-21 19:39:51 +02:00
Vladimir 'phcoder' Serbinenko
f8926c32b4
C part of decompressor
2010-09-21 11:22:52 +02:00
Szymon Janc
014f47b74f
* grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
...
CRC calculations and validity checks.
* grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
calculations.
2010-09-15 00:39:49 +02:00
Szymon Janc
dd521a4afb
* grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
2010-09-15 00:13:09 +02:00
Vladimir 'phcoder' Serbinenko
788f1f3a85
* grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
...
pointer.
2010-09-12 13:50:24 +02:00
Szymon Janc
f0aff67c47
* grub-core/Makefile.core.def (xzio): New module.
...
* grub-core/io/xzio.c: New file.
* grub-core/lib/xzembed/xz.h: New file (from xembed).
* grub-core/lib/xzembed/xz_config.h: Likewise.
* grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
* grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
* grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
* grub-core/lib/xzembed/xz_lzma2.h: Likewise.
* grub-core/lib/xzembed/xz_private.h: Likewise.
* grub-core/lib/xzembed/xz_stream.h: Likewise.
* include/grub/file.h (grub_file_filter_id): New compression filter
GRUB_FILE_FILTER_XZIO.
2010-09-05 17:12:13 +02:00