summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xclient/engine/Boot.lib6
-rwxr-xr-xclient/engine/Net.lib28
-rwxr-xr-xclient/engine/Protocol.lib35
-rwxr-xr-xclient/engine/Registry.lib9
-rwxr-xr-xclient/engine/System.lib15
5 files changed, 56 insertions, 37 deletions
diff --git a/client/engine/Boot.lib b/client/engine/Boot.lib
index 83e7ae74..498a02e9 100755
--- a/client/engine/Boot.lib
+++ b/client/engine/Boot.lib
@@ -352,7 +352,7 @@ ms-sys -s -f $PART
function ogFixBootSector ()
{
# Variables locales.
-local PARTYPE
+local PARTYPE DISK PART FILE
# Si se solicita, mostrar ayuda.
if [ "$*" == "help" ]; then
@@ -380,7 +380,7 @@ ogUnmount $1 $2 || return $(ogRaiseError $OG_ERR_PARTITION; echo $?)
#Preparando instruccion
let DISK=$1-1
PART=$2
-FILE=/tmp/temporal
+FILE=/tmp/temp$$
cat > $FILE <<EOF
disk=$DISK
main_part=$PART
@@ -390,7 +390,7 @@ EOF
spartlnx.run -cui -nm -a -f $FILE &
sleep 5
ps aux > /dev/null | grep $! | grep -E "T|S" | kill -9 $! > /dev/null
-
+rm -f $FILE
}
diff --git a/client/engine/Net.lib b/client/engine/Net.lib
index b10e408e..b7534e20 100755
--- a/client/engine/Net.lib
+++ b/client/engine/Net.lib
@@ -55,7 +55,7 @@ fi
function ogGetGroupName ()
{
if [ "$*" == "help" ]; then
- ogHelp "$FUNCNAME" "$FUNCNAME" "$FUNCNAME Grupo1"
+ ogHelp "$FUNCNAME" "$FUNCNAME" "$FUNCNAME => Grupo1"
return
fi
[ -n "$group" ] && echo "$group"
@@ -73,6 +73,10 @@ fi
function ogGetHostname ()
{
local HOST
+if [ "$*" == "help" ]; then
+ ogHelp "$FUNCNAME" "$FUNCNAME" "$FUNCNAME => pc1"
+ return
+fi
# Tomar nombre de la variable HOSTNAME
HOST="$HOSTNAME"
# Si no, tomar del DHCP, opción host-name /* (comentario para Doxygen)
@@ -98,7 +102,11 @@ HOST="$HOSTNAME"
#*/ ##
function ogGetNetInterface ()
{
-[ -n "$DEVICE" ] && echo $DEVICE
+if [ "$*" == "help" ]; then
+ ogHelp "$FUNCNAME" "$FUNCNAME" "$FUNCNAME => eth0"
+ return
+fi
+[ -n "$DEVICE" ] && echo "$DEVICE"
}
@@ -120,6 +128,10 @@ function ogGetNetInterface ()
function ogGetIpAddress ()
{
local IP
+if [ "$*" == "help" ]; then
+ ogHelp "$FUNCNAME" "$FUNCNAME" "$FUNCNAME => 192.168.0.10"
+ return
+fi
if [ -n $IPV4ADDR ]; then
IP=$IPV4ADDR
else
@@ -149,6 +161,10 @@ echo ${IP%%/*} # (comentario para Doxygen) */
function ogGetMacAddress ()
{
local MAC
+if [ "$*" == "help" ]; then
+ ogHelp "$FUNCNAME" "$FUNCNAME" "$FUNCNAME => 00:11:22:33:44:55"
+ return
+fi
# Obtener direcciones Ethernet.
if [ -n "$DEVICE" ]; then
MAC=$(ip -o address show up dev "$DEVICE" 2>/dev/null | awk '{sub (/.*\\/, ""); if ($1~/ether/) printf ("%s ", toupper($2));}')
@@ -174,6 +190,10 @@ echo ${MAC%% *}
#*/ ##
function ogGetRepoIp ()
{
+if [ "$*" == "help" ]; then
+ ogHelp "$FUNCNAME" "$FUNCNAME" "$FUNCNAME => 192.168.0.2"
+ return
+fi
# Obtener direcciones IP, segun el protocolo de montaje
if [ -n "$OGIMG" ]; then
case "$ogprotocol" in
@@ -198,6 +218,10 @@ fi
#*/ ##
function ogGetServerIp ()
{
+if [ "$*" == "help" ]; then
+ ogHelp "$FUNCNAME" "$FUNCNAME" "$FUNCNAME => 192.168.0.2"
+ return
+fi
# Obtener direcciones IP.
if [ -n "$OPENGNSYS" ]; then
case "$ogprotocol" in
diff --git a/client/engine/Protocol.lib b/client/engine/Protocol.lib
index ecc0d43b..5fe2bc74 100755
--- a/client/engine/Protocol.lib
+++ b/client/engine/Protocol.lib
@@ -29,14 +29,10 @@
#@date 2011/03/09
#*/ ##
-
-
-
function ogUcastSyntax ()
{
-local PARM SESSION SESSIONPARM MODE PORTBASE PERROR
-local ADDRESS
+local PARM SESSION SESSIONPARM MODE PORTBASE PERROR ADDRESS
local TOOL LEVEL DEVICE MBUFFER SYNTAXSERVER SYNTAXCLIENT
# Si se solicita, mostrar ayuda.
@@ -159,7 +155,7 @@ function ogUcastSendPartition ()
{
# Variables locales
-local PART COMMAND RETVAL
+local PART COMMAND RETVAL
# Si se solicita, mostrar ayuda.
if [ "$*" == "help" ]; then
@@ -175,7 +171,6 @@ PART=$(ogDiskToDev "$1" "$2") || return $?
#ogIsLocked $1 $2 || ogRaiseError $OG_ERR_LOCKED "$1,$2" || return $?
ogUnmount $1 $2
-
#generamos la instrucción a ejecutar.
COMMAND=`ogUcastSyntax SENDPARTITION "$3" $PART $4 $5`
RETVAL=$?
@@ -190,6 +185,7 @@ fi
}
+
#/**
# ogUcastReceiverPartition
#@brief Función para recibir directamente en la partición el contenido de un fichero imagen remoto enviado por UNICAST.
@@ -208,7 +204,7 @@ fi
function ogUcastReceiverPartition ()
{
# Variables locales
-local PART COMMAND RETVAL
+local PART COMMAND RETVAL
# Si se solicita, mostrar ayuda.
if [ "$*" == "help" ]; then
@@ -224,7 +220,6 @@ PART=$(ogDiskToDev "$1" "$2") || return $?
#ogIsLocked $1 $2 || ogRaiseError $OG_ERR_LOCKED "$1,$2" || return $?
ogUnmount $1 $2
-
#generamos la instrucción a ejecutar.
COMMAND=`ogUcastSyntax RECEIVERPARTITION "$3" $PART $4 $5`
RETVAL=$?
@@ -260,7 +255,7 @@ fi
function ogUcastSendFile ()
{
# Variables locales.
-local ARGS SOURCE TARGET COMMAND DEVICE RETVAL LOGFILE
+local ARG ARGS SOURCE TARGET COMMAND DEVICE RETVAL LOGFILE
#ARGS usado para controlar ubicación de la sesion multicast
@@ -301,7 +296,6 @@ esac
ogGetPath $SOURCE &> /dev/null || ogRaiseError $OG_ERR_NOTFOUND " device or file $DEVICE not found" || return $?
-
SESSION=${!ARG}
#generamos la instrucción a ejecutar.
@@ -340,7 +334,6 @@ fi
#*/ ##
#
-
function ogMcastSyntax ()
{
@@ -478,7 +471,7 @@ esac
function ogMcastSendFile ()
{
# Variables locales.
-local ARGS SOURCE TARGET COMMAND DEVICE RETVAL LOGFILE
+local ARGS ARG SOURCE TARGET COMMAND DEVICE RETVAL LOGFILE
#LOGFILE="/tmp/mcast.log"
@@ -525,7 +518,6 @@ ogGetPath $SOURCE &> /dev/null || ogRaiseError $OG_ERR_NOTFOUND " device or file
SESSION=${!ARG}
-
#generamos la instrucción a ejecutar.
COMMAND=`ogMcastSyntax "SENDFILE" "$SESSION" "$SOURCE"`
RETVAL=$?
@@ -611,6 +603,7 @@ else
fi
}
+
#/**
# ogMcastSendPartition
#@brief Función para enviar el contenido de una partición a multiples particiones remotas.
@@ -633,7 +626,7 @@ function ogMcastSendPartition ()
{
# Variables locales
-local PART COMMAND RETVAL
+local PART COMMAND RETVAL
# Si se solicita, mostrar ayuda.
if [ "$*" == "help" ]; then
@@ -683,7 +676,7 @@ fi
function ogMcastReceiverPartition ()
{
# Variables locales
-local PART COMMAND RETVAL
+local PART COMMAND RETVAL
# Si se solicita, mostrar ayuda.
if [ "$*" == "help" ]; then
@@ -926,7 +919,7 @@ esac
# Error si no existe la imagen
-[ $SOURCE ] || ogRaiseError $OG_ERR_NOTFOUND || return $?
+[ $SOURCE ] || ogRaiseError $OG_ERR_NOTFOUND || return $?
[ -r $SOURCE.torrent ] && mv "$SOURCE.torrent" "$SOURCE.torrent.ant" && echo "Esperamos que se refresque el servidor" && sleep 20
@@ -957,7 +950,7 @@ function ogUpdateCacheIsNecesary ()
{
# Variables locales.
-local ERROR SOURCE CACHE FILESOURCE MD5SOURCE FILETARGET MD5TARGET
+local ERROR SOURCE CACHE FILESOURCE MD5SOURCE FILETARGET MD5TARGET
ERROR=0
# Si se solicita, mostrar ayuda.
@@ -986,8 +979,8 @@ FILETARGET=`ogGetPath CACHE $2`
if [ -z $FILETARGET ]
then
# borramos el fichero bf del torrent, en el caso de que se hubiese quedado de algun proceso fallido
- ogDeleteFile CACHE /$2.torrent.bf &> /dev/null
- ogDeleteFile CACHE /$2.sum &> /dev/null
+ ogDeleteFile CACHE "/$2.torrent.bf" &> /dev/null
+ ogDeleteFile CACHE "/$2.sum" &> /dev/null
echo "TRUE=0, es necesario actualizar. Paso 1, la cache no contiene esa imagen "
return 0
fi
@@ -1029,7 +1022,7 @@ then
return 1
else
echo "TRUE=0, Si es necesario actualizar. paso 5.b la imagen en cache es distinta, borramos la imagen anterior y devolvemos 0 para confirmar la actualizacion"
- rm $FILETARGET
+ rm -f $FILETARGET
return 0
fi
diff --git a/client/engine/Registry.lib b/client/engine/Registry.lib
index 9ca6a0e4..6423f43a 100755
--- a/client/engine/Registry.lib
+++ b/client/engine/Registry.lib
@@ -60,8 +60,8 @@ EOT
#@return (nada)
#@exception OG_ERR_FORMAT Formato incorrecto.
#@exception OG_ERR_NOTFOUND Fichero de registro no encontrado.
-#@note hive = { default, sam, security, software, system, components }
-#@note valuetype = { string, binary, dword }, por defecto: string
+#@note hive = { DEFAULT, SAM, SECURITY, SOFTWARE, SYSTEM, COMPONENTS }
+#@note valuetype = { STRING, BINARY, DWORD }, por defecto: STRING
#@warning Requisitos: chntpw
#@warning El sistema de archivos de Windows debe estar montada previamente.
#@version 1.0.1 - Nueva función
@@ -146,6 +146,7 @@ y
EOT
}
+
#/**
# ogDeleteRegistryValue path_mountpoint str_hive str_valuename
#@brief Elimina un valor del registro de Windows.
@@ -198,7 +199,7 @@ EOT
#@return str_path - camino del fichero de registro
#@exception OG_ERR_FORMAT Formato incorrecto.
#@exception OG_ERR_NOTFOUND Fichero de registro no encontrado.
-#@note hive = { default, sam, security, software, system, components }
+#@note hive = { DEFAULT, SAM, SECURITY, SOFTWARE, SYSTEM, COMPONENTS }
#@warning El sistema de archivos de Windows debe estar montada previamente.
#@version 1.0.1 - Nueva función
#@author Ramon Gomez, ETSII Universidad de Sevilla
@@ -212,7 +213,7 @@ local FILE FILENT FILEXP
# Si se solicita, mostrar ayuda.
if [ "$*" == "help" ]; then
ogHelp "$FUNCNAME" "$FUNCNAME path_mountpoint str_hive"
- "$FUNCNAME /mnt/sda1 SOFTWARE"
+ "$FUNCNAME /mnt/sda1 SOFTWARE => /mnt/sda1/WINDOWS/System32/config/SOFTWARE"
return
fi
# Error si no se reciben 2 parámetros.
diff --git a/client/engine/System.lib b/client/engine/System.lib
index 020692d5..4078ebef 100755
--- a/client/engine/System.lib
+++ b/client/engine/System.lib
@@ -33,8 +33,7 @@ case "$1" in
error) LOGLEVEL=$1; shift ;;
*) ;;
esac
-# Pendiente en cliente Initrd.
-#DATETIME=$(date +"%F %T")
+DATETIME=$(date +"%F %T")
if [ -n "$LOGLEVEL" ]; then
logger -s -t "OpenGnSys $LOGLEVEL" $LOGFILE "$DATETIME $*"
@@ -91,7 +90,7 @@ case "$CODE" in
$OG_ERR_MCASTSENDPARTITION) MSG="$MSG_ERR_MCASTSENDPARTITION \"$2\"" ;;
$OG_ERR_MCASTRECEIVERPARTITION) MSG="$MSG_ERR_MCASTRECEIVERPARTITION \"$2\"" ;;
$OG_ERR_PROTOCOLJOINMASTER) MSG="$MSG_ERR_PROTOCOLJOINMASTER \"$2\"" ;;
- *) MSG="$MSG_ERR_GENERIC"; CODE=$OG_ERR_GENERIC ;;
+ *) MSG="$MSG_ERR_GENERIC"; CODE=$OG_ERR_GENERIC ;;
esac
# Mostrar mensaje de error y salir con el código indicado.
@@ -177,19 +176,20 @@ while [ $# -gt 0 ]; do
done
}
-ogCheckProgram ()
+
+function ogCheckProgram ()
{
# Si se solicita, mostrar ayuda.
if [ "$*" == "help" ]; then
- ogHelp "$FUNCNAME \"str_program1 program2 programN\" " \
- "$FUNCNAME \"partimage partclone mbuffer\" "
+ ogHelp "$FUNCNAME \"str_program ...\"" \
+ "$FUNCNAME \"partimage partclone mbuffer\""
return
fi
# Error si no se recibe 1 parámetro.
[ $# == 1 ] || ogRaiseError $OG_ERR_FORMAT || return $?
-local PERROR PLOG
+local PERROR PLOG i
PERROR=0
PLOG=" "
for i in `echo $1`
@@ -207,3 +207,4 @@ else
return 0
fi
}
+