Vladimir 'phcoder' Serbinenko
13c6353fc7
* grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
...
protective entry in any slot.
* grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
if protective entry is found in any slot.
Protective entry in non-first slot make no sense but is a widespread
brain damage.
2012-05-22 09:09:00 +02:00
Vladimir 'phcoder' Serbinenko
4cf6be1bd9
* grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
2012-05-22 08:38:17 +02:00
Vladimir 'phcoder' Serbinenko
937d1c44b1
* grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
...
with old reiserfs.
(grub_reiserfs_open): Don't free root.
2012-05-22 08:30:57 +02:00
Vladimir 'phcoder' Serbinenko
021d90ecac
* grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
...
after freeing for safety.
2012-05-22 08:24:27 +02:00
Vladimir 'phcoder' Serbinenko
967b2b649a
* grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
...
Reported by: Jordan Uggla.
2012-05-22 00:02:21 +02:00
Benjamin Herrenschmidt
dcaaae9dbe
* grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
...
of r0.
2012-05-21 22:40:34 +02:00
Vladimir 'phcoder' Serbinenko
7086ad524f
Remove unjustified hard dependency of normal.mod on gfxterm.
...
* include/grub/term.h (grub_term_output): New member fullscreen.
* include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
* grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
(grub_gfxterm): Set .fullscreen.
* grub-core/normal/menu.c (menu_init): Use fullscreen.
* grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
2012-05-21 22:17:11 +02:00
Vladimir 'phcoder' Serbinenko
a4469c8806
* grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
2012-05-21 22:07:28 +02:00
Vladimir 'phcoder' Serbinenko
4e46148696
* grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
...
a bad FS.
2012-05-21 22:02:56 +02:00
Vladimir 'phcoder' Serbinenko
aa78f5c4e6
* grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
...
ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
2012-05-18 12:51:02 +02:00
Vladimir 'phcoder' Serbinenko
197626b569
* grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
...
(grub_jfs_mount): Fill caseins.
(grub_jfs_find_file): Respect caseins.
2012-05-17 13:50:33 +02:00
Vladimir 'phcoder' Serbinenko
8ad3f28cec
* grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
...
through UTF-16.
2012-05-17 13:47:23 +02:00
Vladimir 'phcoder' Serbinenko
0c6c324e90
* grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
...
New argument origpath. All users updated.
2012-05-17 13:45:00 +02:00
Vladimir 'phcoder' Serbinenko
c6666ba687
* grub-core/fs/ntfs.c (read_data): Prevent overflow.
...
(read_attr): Ensure that we read start of possibly compressed block.
2012-05-15 17:17:06 +02:00
Vladimir 'phcoder' Serbinenko
e28e5fe519
* include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
...
(grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
All users updated.
2012-05-15 17:09:14 +02:00
Vladimir 'phcoder' Serbinenko
5560e9d6e1
* grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
...
GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
* grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
* include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
2012-05-13 20:29:23 +02:00
Vladimir 'phcoder' Serbinenko
bfb320c644
* grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
...
a bad FS.
2012-05-13 20:23:02 +02:00
Vladimir 'phcoder' Serbinenko
def3df7520
* grub-core/fs/udf.c (read_string): Bail out on size=0.
...
(grub_udf_read_symlink): Handle read_string failure.
2012-05-13 20:18:33 +02:00
Vladimir 'phcoder' Serbinenko
5eae317511
* grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
...
comment.
2012-05-12 14:15:45 +02:00
Vladimir 'phcoder' Serbinenko
c1ad82db74
Fix handling of UDF symlinks.
...
* grub-core/fs/udf.c (read_string): New argument outbuf.
All users updated.
(grub_ufs_read_symlink): Rename to ...
(grub_udf_read_symlink): ... this. All users updated.
Handle symlinks with more than one component.
2012-05-12 13:54:26 +02:00
Vladimir 'phcoder' Serbinenko
33eca6e005
* grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
...
symlinks. Replace leading colon with a slash.
2012-05-12 13:44:48 +02:00
Vladimir 'phcoder' Serbinenko
57f4a70b0d
* grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
...
filename.
2012-05-12 13:41:02 +02:00
Vladimir 'phcoder' Serbinenko
38c8ee20ca
* grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
...
match in inner node.
2012-05-12 13:35:58 +02:00
Vladimir 'phcoder' Serbinenko
2e57f28fc7
* grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
...
* grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
* grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
* grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
* grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
* grub-core/fs/minix.c (grub_minix_mount): Likewise.
* grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
* grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
* grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
2012-05-12 13:31:05 +02:00
Vladimir 'phcoder' Serbinenko
f1a6254cf1
Flush block cache on adding disk to device map.
...
* grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
(grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
adding.
(read_device_map): Likewise.
(open_device): Flush on opening.
2012-05-11 21:03:47 +02:00
Vladimir 'phcoder' Serbinenko
690434e81d
* grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
...
(handle_symlink): Fix off-by-one error.
Canonicalize the target.
(grub_cpio_dir): Canonicalize the name.
Fix memory leak.
Set directory.
(grub_cpio_open): Canonicalize the name.
2012-05-10 23:38:01 +02:00
Vladimir 'phcoder' Serbinenko
742d2be63a
* grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
...
handling.
2012-05-10 23:35:03 +02:00
Vladimir 'phcoder' Serbinenko
3244fe96e7
* grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
...
* grub-core/fs/minix.c (grub_minix_find_file): Likewise.
2012-05-10 23:33:44 +02:00
Vladimir 'phcoder' Serbinenko
6d521c5b41
Fix UFS1 big file support.
...
* grub-core/fs/ufs.c (INODE): Removed.
(INODE_SIZE): Always use 64-bit byte-swap since size field is always
64-bit.
(INODE_MODE): Simplify.
(grub_ufs_inode): Use uint64_t for size and not int64_t.
(grub_ufs_lookup_symlink): Don't use INODE.
2012-05-10 00:25:36 +02:00
Vladimir 'phcoder' Serbinenko
21b82e176e
Fix minixfs with non-power-of-two blocks since it's supported by minix.
...
* grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
(grub_minix_data): Replace log_block_size with block_size.
(grub_minix_read_file): Use block_size but avoid 64-bit division.
(grub_minix_mount): Fill block_size.
2012-05-10 00:12:02 +02:00
Vladimir 'phcoder' Serbinenko
f417ed0432
Fix wrapped HFS+ handling.
...
* grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
blocks_start. All users updated.
* grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
wrapping offset.
(grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
2012-05-09 13:02:59 +02:00
Vladimir 'phcoder' Serbinenko
607d282b29
Fix long symlinks on reiserfs.
...
* grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
(grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
(grub_reiserfs_iterate_dir): Save size for non-directories.
(grub_reiserfs_open): Don't reread stat block as we already know the
size.
(grub_reiserfs_read): Split into...
(grub_reiserfs_read_real): ... and ...
(grub_reiserfs_read): ...this.
2012-05-09 12:55:43 +02:00
Vladimir 'phcoder' Serbinenko
ae16024d92
Fix non-indexed JFS.
...
* grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
(grub_jfs_data): New field namecomponentlen.
(grub_jfs_mount): Fill namecomponentlen.
(grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
2012-05-09 02:12:16 +02:00
Vladimir 'phcoder' Serbinenko
eea1e26e52
* grub-core/script/yylex.l: Ugly fix for "\\\n ".
...
* tests/grub_script_echo1.in: Add tests.
2012-05-08 23:20:02 +02:00
Bean
5efb817d64
* grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
...
All users updated.
(free_rsm): Free header as well.
(free_old_fragments): Fix memory leak.
* grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
* grub-core/net/tftp.c (tftp_receive): Fix memory leak.
(destroy_pq): Likewise.
* include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
2012-05-08 16:03:02 +02:00
Vladimir 'phcoder' Serbinenko
668ea6d26d
* grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
...
resulting hash as a precaution.
2012-05-08 14:22:38 +02:00
Vladimir 'phcoder' Serbinenko
1739b1fef8
* grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
...
'_' in variable names.
* grub-core/net/net.c (grub_net_network_level_interface_register):
Likewise.
2012-05-08 14:07:49 +02:00
Vladimir 'phcoder' Serbinenko
6ae485aaef
Fix AFFS with non-512B blocks.
...
* grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
(AFFS_MAX_LOG_BLOCK_SIZE): New definition.
(grub_affs_data): Replace blocksize with log_blocksize.
(grub_affs_read_block): Fix non-512B blocks.
(grub_affs_read_symlink): Likewise.
(grub_affs_iterate_dir): Likewise. Fix freeing corruption.
(grub_affs_read): Fix non-512B blocks.
(grub_affs_label): Likewise.
(grub_affs_mtime): Likewise.
(grub_affs_mount): Fix block detection routine.
2012-05-08 04:38:19 +02:00
Vladimir 'phcoder' Serbinenko
d20fab8471
Add filesystem mtime to AFFS.
...
* grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
(aftime2ctime): New function.
(grub_affs_dir): Use aftime2ctime.
(grub_affs_label): Fix return value.
(grub_affs_mtime): New function.
(grub_affs_fs): Add mtime.
2012-05-08 01:51:34 +02:00
Vladimir 'phcoder' Serbinenko
e87b10f5d6
* grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
...
UTF-8.
2012-05-07 22:00:19 +02:00
Vladimir 'phcoder' Serbinenko
7dceec9b69
* grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
...
UTF-8.
2012-05-07 21:57:51 +02:00
Vladimir 'phcoder' Serbinenko
2f48221f5c
* grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
2012-05-07 19:09:02 +02:00
Vladimir 'phcoder' Serbinenko
dacd85cfb0
* grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
...
flags.
(FLAGS_CASE_SENSITIVE): New enum value.
(cache_entry): New struct.
(grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
cache_size and cache.
(grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
Add log_blocksize and fshelp_flags.
(grub_sfs_read_extent): Handle non-512 blocks.
(grub_sfs_read_block): Add cаche and handle non-512 blocks.
(grub_sfs_read_file): Handle non-512 blocks.
(grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
fshelp_flags.
(grub_sfs_read_symlink): Handle non-512 blocks.
(grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
(grub_sfs_dir): Free cache.
(grub_sfs_close): Likewise.
2012-05-07 19:07:16 +02:00
Vladimir 'phcoder' Serbinenko
24e9a854b8
* grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
...
filesystems.
2012-05-06 16:20:55 +02:00
Vladimir 'phcoder' Serbinenko
62ace64dd9
* grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
2012-05-06 16:18:00 +02:00
Vladimir 'phcoder' Serbinenko
83b2e89cf7
* grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
2012-05-06 16:10:29 +02:00
Vladimir 'phcoder' Serbinenko
75ccaea346
* grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
...
(grub_sfs_read_extent): Likewise.
(grub_sfs_read_block): Likewise.
(grub_sfs_mount): Likewise.
(grub_sfs_iterate_dir): Likewise.
(grub_sfs_read_symlink): Use strncpy instead of strcpy.
(grub_sfs_read): Remove unnecessarry and wrong temporary variable.
2012-05-06 04:42:28 +02:00
Vladimir 'phcoder' Serbinenko
1b8463f2c4
Fix errors on compressed NTFS with 512B clusters.
...
* include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
types.
* grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
not 0.
* grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
Relax check for inline extents.
(ntfscomp): Return correct -1 on error and not 0.
2012-05-04 17:37:17 +02:00
Vladimir 'phcoder' Serbinenko
6f5d5ee865
* grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
...
(grub_squash_read_data): Fix offset byte-swapping.
2012-05-04 17:13:24 +02:00
Vladimir 'phcoder' Serbinenko
ce41ab7aab
* grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
...
per common usage and preffered in several parts of code.
(grub_memcmp): Likewise.
(grub_strncmp): Likewise.
* include/grub/misc.h (grub_strcasecmp): Likewise.
(grub_strncasecmp): Likewise.
* Makefile.util.def (cmp_test): New test.
(grub_script_strcmp): Likewise.
* tests/cmp_unit_test.c: New file.
* tests/grub_script_strcmp.in: Likewise.
* grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
2012-05-04 12:08:22 +02:00