mirror of the now-defunct rocklinux.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

72 lines
2.0 KiB

  1. #!/bin/bash
  2. # --- ROCK-COPYRIGHT-NOTE-BEGIN ---
  3. #
  4. # This copyright note is auto-generated by ./scripts/Create-CopyPatch.
  5. # Please add additional copyright information _after_ the line containing
  6. # the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by
  7. # the ./scripts/Create-CopyPatch script. Do not edit this copyright text!
  8. #
  9. # ROCK Linux: rock-src/target/lvp/x86/livesystem/etc_lvp_10-encryption.sh
  10. # ROCK Linux is Copyright (C) 1998 - 2006 Clifford Wolf
  11. #
  12. # This program is free software; you can redistribute it and/or modify
  13. # it under the terms of the GNU General Public License as published by
  14. # the Free Software Foundation; either version 2 of the License, or
  15. # (at your option) any later version. A copy of the GNU General Public
  16. # License can be found at Documentation/COPYING.
  17. #
  18. # Many people helped and are helping developing ROCK Linux. Please
  19. # have a look at http://www.rocklinux.org/ and the Documentation/TEAM
  20. # file for details.
  21. #
  22. # --- ROCK-COPYRIGHT-NOTE-END ---
  23. encryption_start() {
  24. if [ -e /lvp.data1 ] ; then
  25. numfiles=0
  26. files=""
  27. echo -n "Found "
  28. for x in /lvp.data* ; do
  29. echo -n "${x} "
  30. numfiles=$(( ${numfiles} + 1 ))
  31. files="${files} /dev/loop/${numfiles}"
  32. done
  33. echo
  34. echo "Starting crypto-subroutine"
  35. exec 2>/dev/null
  36. for x in /lvp.data* ; do
  37. losetup /dev/loop/${x#/lvp.data} ${x}
  38. done
  39. mdadm --build /dev/md/0 -l linear --force -n ${numfiles} ${files}
  40. while [ ! -e /mnt1/lvp.xml ] ; do
  41. echo -n "Please enter passphrase: "
  42. read -s pass
  43. echo
  44. pass="`echo ${pass} | md5sum`"
  45. pass=${pass%% *}
  46. echo 0 `/sbin/blockdev --getsize /dev/md/0` crypt aes-plain ${pass} 0 /dev/md/0 0 | /sbin/dmsetup create lvp_data
  47. mount /dev/mapper/lvp_data /mnt1
  48. if [ ! -e /mnt1/lvp.xml ] ; then
  49. echo "Wrong Passphrase!"
  50. dmsetup remove /dev/mapper/lvp_data
  51. fi
  52. done
  53. exec 2>&1
  54. fi
  55. }
  56. encryption_stop(){
  57. umount /mnt1
  58. dmsetup remove /dev/mapper/lvp_data
  59. mdadm -S /dev/md/0
  60. for x in /lvp.data* ; do
  61. losetup -d /dev/loop/${x#/lvp.data}
  62. done
  63. }
  64. encryption_(){
  65. echo "Uh-Oh"
  66. }
  67. eval "encryption_${1}"