diff -ur dbmail/Makefile dbmail-md5pass/Makefile
--- dbmail/Makefile	Wed Jun  5 07:18:09 2002
+++ dbmail-md5pass/Makefile	Wed Jun  5 09:30:17 2002
@@ -111,7 +111,7 @@
 $(AUTHOBJECT): auth.h db.h
 
 distclean: clean
-	rm -rf dbmail-smtp dbmail-pop3d dbmail-maintenance dbmail-imapd dbmail-config dbmail-adduser dbmail-readvut mbox2dbmail dbmail-realsmtp
+	rm -rf dbmail-smtp dbmail-pop3d dbmail-maintenance dbmail-imapd dbmail-config dbmail-adduser dbmail-readvut mbox2dbmail dbmail-realsmtp dbmail-mini-injector dbmail-smtp-injector raw-convertor uni-one-convertor
 
 clean:
 	rm -f *.o core $(DBASETYPE)/*.o
diff -ur dbmail/Makefile.mysql dbmail-md5pass/Makefile.mysql
--- dbmail/Makefile.mysql	Sat Jun  1 07:29:47 2002
+++ dbmail-md5pass/Makefile.mysql	Wed Jun  5 09:30:17 2002
@@ -107,7 +107,7 @@
 $(AUTHOBJECT): auth.h db.h
 
 distclean: clean
-	rm -rf dbmail-smtp dbmail-pop3d dbmail-maintenance dbmail-imapd dbmail-config dbmail-adduser dbmail-readvut mbox2dbmail dbmail-realsmtp
+	rm -rf dbmail-smtp dbmail-pop3d dbmail-maintenance dbmail-imapd dbmail-config dbmail-adduser dbmail-readvut mbox2dbmail dbmail-realsmtp dbmail-mini-injector dbmail-smtp-injector raw-convertor uni-one-convertor
 
 clean:
 	rm -f *.o core $(DBASETYPE)/*.o
diff -ur dbmail/Makefile.pgsql dbmail-md5pass/Makefile.pgsql
--- dbmail/Makefile.pgsql	Thu May 30 11:15:38 2002
+++ dbmail-md5pass/Makefile.pgsql	Wed Jun  5 09:30:17 2002
@@ -111,7 +111,7 @@
 $(AUTHOBJECT): auth.h db.h
 
 distclean: clean
-	rm -rf dbmail-smtp dbmail-pop3d dbmail-maintenance dbmail-imapd dbmail-config dbmail-adduser dbmail-readvut mbox2dbmail dbmail-realsmtp
+	rm -rf dbmail-smtp dbmail-pop3d dbmail-maintenance dbmail-imapd dbmail-config dbmail-adduser dbmail-readvut mbox2dbmail dbmail-realsmtp dbmail-mini-injector dbmail-smtp-injector raw-convertor uni-one-convertor
 
 clean:
 	rm -f *.o core $(DBASETYPE)/*.o
diff -ur dbmail/mysql/dbauthmysql.c dbmail-md5pass/mysql/dbauthmysql.c
--- dbmail/mysql/dbauthmysql.c	Tue Jun  4 10:04:53 2002
+++ dbmail-md5pass/mysql/dbauthmysql.c	Wed Jun  5 09:30:17 2002
@@ -656,6 +656,11 @@
       trace (TRACE_DEBUG,"auth_validate(): validating using crypt() encryption");
       is_validated = (strcmp( crypt(password, __auth_row[1]), __auth_row[1]) == 0) ? 1 : 0;
     }
+  else if ( strcasecmp(__auth_row[2], "md5") == 0)
+    {
+      trace (TRACE_DEBUG,"auth_validate(): validating using md5 encryption");
+      is_validated = (strcmp( makemd5(password), __auth_row[1]) == 0) ? 1 : 0;
+    }
   
   if (is_validated)
     {
diff -ur dbmail/pgsql/dbauthpgsql.c dbmail-md5pass/pgsql/dbauthpgsql.c
--- dbmail/pgsql/dbauthpgsql.c	Tue Jun  4 10:04:53 2002
+++ dbmail-md5pass/pgsql/dbauthpgsql.c	Wed Jun  5 09:30:17 2002
@@ -728,6 +728,12 @@
       row = PQgetvalue(__auth_res, 0, 1);
       is_validated = (strcmp( crypt(password, row), row) == 0) ? 1 : 0;
     }
+  else if ( strcasecmp(row, "md5") == 0)
+    {
+      trace (TRACE_DEBUG,"auth_validate(): validating using md5 encryption");
+      row = PQgetvalue(__auth_res, 0, 1);
+      is_validated = (strcmp( makemd5(password), row) == 0) ? 1 : 0;
+    }
 
   if (is_validated)
     {
diff -ur dbmail/user.c dbmail-md5pass/user.c
--- dbmail/user.c	Sun Jun  2 13:28:38 2002
+++ dbmail-md5pass/user.c	Wed Jun  5 09:30:48 2002
@@ -16,6 +16,7 @@
 #include <crypt.h>
 #include <time.h>
 #include <stdarg.h>
+#include "dbmd5.h"
 
 #define SHADOWFILE "/etc/shadow"
 char *getToken(char** str,const char* delims);
@@ -305,6 +306,34 @@
 	  if (auth_change_username(userid,argv[i+1]) != 0)
 	    {
 	      quiet_printf("\nWarning: could not change username ");
+	      retval = -1;
+	    }
+
+	  i++;
+	  break;
+
+	case '5':
+	  /* change the password */
+	  if (!is_valid(argv[i+1]))
+	    {
+	      quiet_printf("\nWarning: password contains invalid characters. Password not updated. ");
+	      retval = -1;
+	    }
+
+          if (argv[i][0] == '+') 
+	    {
+	      /* +5 will convert clear text into md5 hash value */
+	      strcat(pw,makemd5(argv[i+1]));
+	      result = auth_change_password(userid,pw,"md5");
+	    } 
+	  else 
+	    {
+	      strcpy(pw,argv[i+1]);
+	      result = auth_change_password(userid,pw,"md5");
+	    }
+	  if (result != 0)
+	    {
+	      quiet_printf("\nWarning: could not change password ");
 	      retval = -1;
 	    }
 
