* vtysh_config.c: Move password commands to the AAA_NODE. It
	  quarantees that they will appear after SERVICE_NODE to make sure
	  that encrypted passwords will work ("service password-encryption"
	  command).

	[backport candidate]
diff --git a/vtysh/ChangeLog b/vtysh/ChangeLog
index 6822126..9d6d3c0 100644
--- a/vtysh/ChangeLog
+++ b/vtysh/ChangeLog
@@ -1,3 +1,10 @@
+2005-03-09 Hasso Tepper <hasso at quagga.net>
+
+	* vtysh_config.c: Move password commands to the AAA_NODE. It
+	  quarantees that they will appear after SERVICE_NODE to make sure
+	  that encrypted passwords will work ("service password-encryption"
+	  command).
+
 2005-01-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
 
 	* vtysh.h: Remove obsolete VTYSH_INDEX_* defines.  Fix many prototypes
diff --git a/vtysh/vtysh_config.c b/vtysh/vtysh_config.c
index c7be8d2..14efa48 100644
--- a/vtysh/vtysh_config.c
+++ b/vtysh/vtysh_config.c
@@ -240,14 +240,14 @@
 	config = config_get (SERVICE_NODE, line);
       else if (strncmp (line, "debug", strlen ("debug")) == 0)
 	config = config_get (DEBUG_NODE, line);
+      else if (strncmp (line, "password", strlen ("password")) == 0
+	       || strncmp (line, "enable password",
+			   strlen ("enable password")) == 0)
+	config = config_get (AAA_NODE, line);
       else
 	{
 	  if (strncmp (line, "log", strlen ("log")) == 0
 	      || strncmp (line, "hostname", strlen ("hostname")) == 0
-	      || strncmp (line, "password", strlen ("password")) == 0
-	      || strncmp (line, "enable password",
-		          strlen ("enable password")) == 0
-	      || strncmp (line, "service", strlen ("service")) == 0
 	     )
 	    config_add_line_uniq (config_top, line);
 	  else
@@ -287,7 +287,8 @@
   ((I) == ACCESS_NODE || (I) == PREFIX_NODE || (I) == IP_NODE \
    || (I) == AS_LIST_NODE || (I) == COMMUNITY_LIST_NODE || \
    (I) == ACCESS_IPV6_NODE || (I) == PREFIX_IPV6_NODE \
-   || (I) == SERVICE_NODE || (I) == FORWARDING_NODE || (I) == DEBUG_NODE)
+   || (I) == SERVICE_NODE || (I) == FORWARDING_NODE || (I) == DEBUG_NODE \
+   || (I) == AAA_NODE)
 
 /* Display configuration to file pointer. */
 void