propagator/stage1.h
Michael Shigorin 8d2cd5aec8 initial verify_ramdisk_digest()
This is a patch by Maxim Suhanov <suhanov/group-ib.ru>
aiming to provide integrity and authenticity check for
stage2 rootfs image when required:

- media bootloader passes sha256 hash of stage2 image;
- stage1 early userspace code (that is, propagator)
  checks the candidate files against that during search;
- existing file with different checksum results in a warning
  with a dialog to just say NO, continue searching for the
  proper squashfs image and have a look at that weird one;
- existing file with correct checksum results in booting
  as usual.

The check is triggered by "hash=..." kernel boot parameter.

See also http://www.forensicswiki.org/wiki/Forensic_Live_CD_issues
2014-04-19 12:49:58 +04:00

69 lines
2.0 KiB
C

/*
* Guillaume Cottenceau (gc@mandrakesoft.com)
*
* Copyright 2000 MandrakeSoft
*
* This software may be freely redistributed under the terms of the GNU
* public license.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
*/
/*
* Portions from Erik Troan (ewt@redhat.com)
*
* Copyright 1996 Red Hat Software
*
*/
#ifndef _STAGE1_H_
#define _STAGE1_H_
#include "config-stage1.h"
#include "tools.h"
/* Some global stuff */
extern char * method_name;
extern char * interactive_fifo;
#define MODE_TESTING (1 << 0)
#define MODE_EXPERT (1 << 1)
#define MODE_LIVE (1 << 2)
#define MODE_RESCUE (1 << 3)
#define MODE_AUTOMATIC (1 << 4)
#define MODE_LOWMEM (1 << 5)
#define MODE_PROGRESSCOUNT (1 << 7)
#define MODE_STAGENAME (1 << 8)
#define MODE_RAMDISK (1 << 9)
#define MODE_CHANGEDISK (1 << 10)
#define MODE_UPDATEMODULES (1 << 11)
#define MODE_SPLASH (1 << 12)
#define MODE_VERIFICATION (1 << 13)
#define IS_TESTING (get_param(MODE_TESTING))
#define IS_EXPERT (get_param(MODE_EXPERT))
#define IS_RESCUE (get_param(MODE_RESCUE))
#define IS_LIVE (get_param(MODE_LIVE))
#define IS_AUTOMATIC (get_param(MODE_AUTOMATIC))
#define IS_LOWMEM (get_param(MODE_LOWMEM))
#define IS_PROGRESSCOUNT (get_param(MODE_PROGRESSCOUNT))
#define IS_STAGENAME (get_param(MODE_STAGENAME))
#define IS_RAMDISK (get_param(MODE_RAMDISK))
#define IS_CHANGEDISK (get_param(MODE_CHANGEDISK))
#define IS_UPDATEMODULES (get_param(MODE_UPDATEMODULES))
#define IS_SPLASH (get_param(MODE_SPLASH))
#define IS_VERIFICATION (get_param(MODE_VERIFICATION))
void fatal_error(char *msg) __attribute__ ((noreturn));
void stg1_error_message(char *msg, ...) __attribute__ ((format (printf, 1, 2)));
void stg1_info_message(char *msg, ...) __attribute__ ((format (printf, 1, 2)));
#endif