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.

61 lines
2.2 KiB

  1. # --- ROCK-COPYRIGHT-NOTE-BEGIN ---
  2. #
  3. # This copyright note is auto-generated by ./scripts/Create-CopyPatch.
  4. # Please add additional copyright information _after_ the line containing
  5. # the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by
  6. # the ./scripts/Create-CopyPatch script. Do not edit this copyright text!
  7. #
  8. # ROCK Linux: rock-src/target/tor/fixedfiles/mod_rockate.sh
  9. # ROCK Linux is Copyright (C) 1998 - 2007 Clifford Wolf
  10. #
  11. # This program is free software; you can redistribute it and/or modify
  12. # it under the terms of the GNU General Public License as published by
  13. # the Free Software Foundation; either version 2 of the License, or
  14. # (at your option) any later version. A copy of the GNU General Public
  15. # License can be found at Documentation/COPYING.
  16. #
  17. # Many people helped and are helping developing ROCK Linux. Please
  18. # have a look at http://www.rocklinux.org/ and the Documentation/TEAM
  19. # file for details.
  20. #
  21. # --- ROCK-COPYRIGHT-NOTE-END ---
  22. #
  23. # ROCKate network setup
  24. rockate_configure() {
  25. local device="${1}"
  26. read inet ip rest < <( ip addr show ${device} | grep 'inet ' )
  27. gui_input "Enter IP address for ${device}" ${ip} newip
  28. if [ -n "${newip}" -a "${newip}" != "${ip}" ] ; then
  29. ip addr del "${ip}" dev "${device}"
  30. ip addr add "${newip}" dev "${device}"
  31. fi
  32. }
  33. rockate_defaultroute(){
  34. local gw="${1}"
  35. gui_input "Enter IP Address for the default router" ${gw} newgw
  36. if [ -n "${newgw}" -a "${gw}" != "${newgw}" ] ; then
  37. route del -net default ${gw}
  38. route add -net default ${newgw}
  39. fi
  40. }
  41. main() {
  42. #eth0 Link encap:Ethernet HWaddr 00:10:DC:7C:EE:8A
  43. while
  44. menu=""
  45. while read name a b c mac ; do
  46. read inet ip rest < <( ip addr show ${name} | grep 'inet ' )
  47. menu="${menu} 'Device ${name} (${mac})' ''"
  48. menu="${menu} ' IP Address: ${ip}' ''"
  49. menu="${menu} ' Configure via dhcp' 'dhclient ${name}'"
  50. menu="${menu} ' Configure manually' 'rockate_configure ${name}'"
  51. done < <( ifconfig -a | grep HWaddr ) # we only want 'real' interfaces
  52. menu="${menu} '' ''"
  53. read dest gw msk fl met ref use dev < <( route -n | grep ^0.0.0.0 )
  54. menu="${menu} 'Default Route: ${gw} (via ${dev})' 'rockate_defaultroute ${gw}'"
  55. eval gui_menu FOO "'ROCKate Configuration'" ${menu}
  56. do : ; done
  57. }