diff options
author | ramon <ramongomez@us.es> | 2014-03-17 11:36:29 +0000 |
---|---|---|
committer | ramon <ramongomez@us.es> | 2014-03-17 11:36:29 +0000 |
commit | a73649da0a35ef4e4947a939d8bf2491c6bcaff2 (patch) | |
tree | bbf2002e957ffbf461cec9e93619d379f560f970 /client/engine/Boot.lib | |
parent | 0483b14f234edbefa932d73b6ca2c3d9b3283449 (diff) |
#637: Corregidas las condiciones de error incorrectas que no provocaban la salida de una función ante un fallo controlado.
git-svn-id: https://opengnsys.es/svn/branches/version1.0@4187 a21b9725-9963-47de-94b9-378ad31fedc9
Diffstat (limited to 'client/engine/Boot.lib')
-rwxr-xr-x | client/engine/Boot.lib | 41 |
1 files changed, 21 insertions, 20 deletions
diff --git a/client/engine/Boot.lib b/client/engine/Boot.lib index 51c78bc2..bc176b85 100755 --- a/client/engine/Boot.lib +++ b/client/engine/Boot.lib @@ -48,7 +48,8 @@ fi PART=$(ogDiskToDev $1 $2) || return $? TYPE=$(ogGetFsType $1 $2) || return $? MNTDIR=$(ogMount $1 $2) 2>/dev/null -[ -z "$MNTDIR" ] && ogRaiseError OG_ERR_PARTITION "$1, $2" && return $? +# Error si no puede montar sistema de archivos. +[ -n "$MNTDIR" ] || ogRaiseError OG_ERR_PARTITION "$1, $2" || return $? case "$TYPE" in EXT[234]|REISERFS|REISER4|JFS|XFS) @@ -56,7 +57,7 @@ case "$TYPE" in PARAMS=$(ogLinuxBootParameters $1 $2) || return $? read -e KERNEL INITRD APPEND <<<"$PARAMS" # Si no hay kernel, no hay sistema operativo. - [ -z "$KERNEL" ] && ogRaiseError $OG_ERR_NOTOS && return $? + [ -n "$KERNEL" ] || ogRaiseError $OG_ERR_NOTOS || return $? # Arrancar de partición distinta a la original. [ -e "$MNTDIR/etc" ] && APPEND=$(echo $APPEND | awk -v P="$PART " '{sub (/root=[-+=_/a-zA-Z0-9]* /,"root="P);print}') # Configurar kernel Linux con los parámetros leídos de su GRUB. @@ -69,7 +70,7 @@ case "$TYPE" in FILE="$(ogGetPath $1 $2 $f 2>/dev/null)" [ -n "$FILE" ] && LOADER="$f" done - [ -z "$LOADER" ] && ogRaiseError $OG_ERR_NOTOS && return $? + [ -n "$LOADER" ] || ogRaiseError $OG_ERR_NOTOS || return $? if [ "$winboot" == "kexec" ]; then # Modo de arranque en caliente (con kexec). cp $OGLIB/grub4dos/* $MNTDIR # */ (Comentario Doxygen) @@ -128,7 +129,7 @@ fi # Montar el sistema de archivos. MNTDIR=$(ogMount $1 $2) 2>/dev/null -[ -z "$MNTDIR" ] && ogRaiseError OG_ERR_PARTITION "$1, $2" && return $? +[ -n "$MNTDIR" ] || ogRaiseError OG_ERR_PARTITION "$1, $2" || return $? # Obtener dato del valor de registro. ogGetRegistryValue $MNTDIR system '\ControlSet001\Control\ComputerName\ComputerName\ComputerName' @@ -171,7 +172,7 @@ fi # Detectar id. de tipo de partición y codificar al mnemonico. MNTDIR=$(ogMount $1 $2) 2>/dev/null -[ -z "$MNTDIR" ] && ogRaiseError OG_ERR_PARTITION "$1, $2" && return $? +[ -n "$MNTDIR" ] || ogRaiseError OG_ERR_PARTITION "$1, $2" || return $? # Fichero de configuración de GRUB. CONFDIR=$MNTDIR # Partición de arranque /boot. @@ -180,7 +181,7 @@ CONFFILE="$CONFDIR/grubPARTITION/boot/grub/grub.cfg" [ ! -e $CONFFILE ] && CONFFILE="$CONFDIR/grub/menu.lst" [ ! -e $CONFFILE ] && CONFFILE="$CONFDIR/grub/grub.cfg" [ ! -e $CONFFILE ] && CONFFILE="$CONFDIR/grub2/grub.cfg" -[ ! -e $CONFFILE ] && ogRaiseError $OG_ERR_NOTFOUND "grub.cfg" && return $? +[ -e $CONFFILE ] || ogRaiseError $OG_ERR_NOTFOUND "grub.cfg" || return $? # Toma del fichero de configuracion los valores del kernel, initrd # y parámetros de arranque usando las cláusulas por defecto @@ -282,7 +283,7 @@ fi # Montar el sistema de archivos. MNTDIR=$(ogMount $1 $2) 2>/dev/null -[ -z "$MNTDIR" ] && ogRaiseError OG_ERR_PARTITION "$1, $2" && return $? +[ -n "$MNTDIR" ] || ogRaiseError OG_ERR_PARTITION "$1, $2" || return $? NAME="$3" # Modificar datos en el registro. @@ -305,20 +306,20 @@ ogSetRegistryValue $MNTDIR SOFTWARE '\Microsoft\Windows NT\CurrentVersion\Winlog function ogBootMbrXP () { # Variables locales. -local PART +local DISK # Si se solicita, mostrar ayuda. if [ "$*" == "help" ]; then ogHelp "$FUNCNAME" "$FUNCNAME int_ndisk " \ - "$FUNCNAME 1 " + "$FUNCNAME 1" return fi -# Error si no se reciben 1 parámetros. +# Error si no se recibe 1 parámetro. [ $# == 1 ] || ogRaiseError $OG_ERR_FORMAT || return $? -PART="$(ogDiskToDev $1)" || return $? -ms-sys -z -f $PART -ms-sys -m -f $PART +DISK="$(ogDiskToDev $1)" || return $? +ms-sys -z -f $DISK +ms-sys -m -f $DISK } @@ -337,7 +338,7 @@ ms-sys -m -f $PART function ogBootMbrGeneric () { # Variables locales. -local PART +local DISK # Si se solicita, mostrar ayuda. if [ "$*" == "help" ]; then @@ -345,12 +346,12 @@ if [ "$*" == "help" ]; then "$FUNCNAME 1 " return fi -# Error si no se reciben 1 parámetros. +# Error si no se recibe 1 parámetro. [ $# == 1 ] || return $(ogRaiseError $OG_ERR_FORMAT; echo $?) -PART="$(ogDiskToDev $1)" || return $(ogRaiseError $OG_ERR_NOTFOUND; echo $?) -ms-sys -z -f $PART -ms-sys -s -f $PART +DISK="$(ogDiskToDev $1)" || return $? +ms-sys -z -f $DISK +ms-sys -s -f $DISK } @@ -908,7 +909,7 @@ esac # Montar el sistema de archivos. MNTDIR=$(ogMount $1 $2) 2>/dev/null -[ -z "$MNTDIR" ] && ogRaiseError OG_ERR_PARTITION "$1, $2" && return $? +[ -n "$MNTDIR" ] || ogRaiseError OG_ERR_PARTITION "$1, $2" || return $? ETC=$(ogGetPath $1 $2 /etc) @@ -965,7 +966,7 @@ fi # Montar el sistema de archivos. MNTDIR=$(ogMount $1 $2) 2>/dev/null -[ -z "$MNTDIR" ] && ogRaiseError OG_ERR_PARTITION "$1, $2" && return $? +[ -n "$MNTDIR" ] || ogRaiseError OG_ERR_PARTITION "$1, $2" || return $? # Eliminar fichero de configuración de udev para dispositivos fijos de red. rm -f ${MNTDIR}/etc/udev/rules.d/70-persistent-net.rules |