installer: add target drive details security question.

This commit is contained in:
Arne Fitzenreiter
2012-11-01 13:24:47 +01:00
parent bbfb087e7d
commit 212cab4f9d
2 changed files with 23 additions and 7 deletions

View File

@@ -48,6 +48,7 @@ int main(int argc, char *argv[])
char **langtrs[] = { de_tr, en_tr, fr_tr, es_tr, pl_tr, ru_tr, NULL };
char hdletter;
char harddrive[30], sourcedrive[5]; /* Device holder. */
char harddrive_info[STRING_SIZE]; /* Additional infos about target */
struct devparams hdparams, cdromparams; /* Params for CDROM and HD */
int rc = 0;
char commandstring[STRING_SIZE];
@@ -213,6 +214,12 @@ int main(int argc, char *argv[])
}
fgets(harddrive, 30, handle);
fclose(handle);
if ((handle = fopen("/tmp/dest_device_info", "r")) == NULL) {
sprintf(harddrive_info, "%s", harddrive);
}
fgets(harddrive_info, 70, handle);
fclose(handle);
/* load unattended configuration */
if (unattended) {
@@ -236,7 +243,7 @@ int main(int argc, char *argv[])
fprintf(flog, "Destination drive: %s\n", hdparams.devnode_disk);
sprintf(message, ctr[TR_PREPARE_HARDDISK], hdparams.devnode_disk);
sprintf(message, ctr[TR_PREPARE_HARDDISK], harddrive_info);
if (unattended) {
hardyn = 1;
} else {

View File

@@ -79,18 +79,18 @@ for path in /sys/block/*; do
esac
# Replace any exclamation marks (e.g. cciss!c0d0).
device=${device//!/\/}
device_=${device//!/\/}
# Guess if this could be a raid device.
for dev in ${device} ${device}p1; do
for dev in ${device_} ${device_}p1; do
if [ -e "/dev/${dev}" ]; then
device=${dev}
break
fi
done
echo "Checking ${device}"
if check_source_drive ${device}; then
echo "Checking ${device_}"
if check_source_drive ${device_}; then
echo " is source drive - skipping"
continue
fi
@@ -102,13 +102,22 @@ for path in /sys/block/*; do
# Found it.
echo " OK, this is it..."
echo -n "${device}" > /tmp/dest_device
echo -n "${device_}" > /tmp/dest_device
# Build string with drive details
echo -n "/dev/${device_} (" > /tmp/dest_device_info
# size is in sectors (512 Bytes)
let DISK_SIZE=$(cat /sys/block/${device}/size)/2097152
echo -n "$DISK_SIZE GB - " >> /tmp/dest_device_info
echo -n "$(cat /sys/block/${device}/device/vendor) " >> /tmp/dest_device_info
echo -n "$(cat /sys/block/${device}/device/model) " >> /tmp/dest_device_info
echo -n "$(cat /sys/block/${device}/device/rev))" >> /tmp/dest_device_info
# Exit code table:
# 1: sda
# 2: RAID
# 10: nothing found
case "${device}" in
case "${device_}" in
*p1|*c0d0)
exit 2
;;