3e961a6
Index: branches/2.5-fixes/src/include/batch_request.h
3e961a6
===================================================================
3e961a6
--- branches/2.5-fixes/src/include/batch_request.h	(revision 5100)
3e961a6
+++ branches/2.5-fixes/src/include/batch_request.h	(revision 5101)
3e961a6
@@ -404,7 +404,7 @@
3e961a6
 
3e961a6
 #ifndef PBS_MOM
3e961a6
 extern void  req_authenuser (struct batch_request *req);
3e961a6
-extern void  req_altauthenuser (struct batch_request *req);
3e961a6
+extern int   req_altauthenuser (struct batch_request *req);
3e961a6
 extern void  req_connect (struct batch_request *req);
3e961a6
 extern void  req_locatejob (struct batch_request *req);
3e961a6
 extern void  req_manager (struct batch_request *req);
3e961a6
Index: branches/2.5-fixes/src/server/req_getcred.c
3e961a6
===================================================================
3e961a6
--- branches/2.5-fixes/src/server/req_getcred.c	(revision 5100)
3e961a6
+++ branches/2.5-fixes/src/server/req_getcred.c	(revision 5101)
3e961a6
@@ -436,7 +436,7 @@
3e961a6
  * utility 
3e961a6
  * 
3e961a6
 */
3e961a6
-void req_altauthenuser(
3e961a6
+int req_altauthenuser(
3e961a6
 
3e961a6
   struct batch_request *preq)  /* I */
3e961a6
 
3e961a6
@@ -462,7 +462,7 @@
3e961a6
   if(s >= PBS_NET_MAX_CONNECTIONS)
3e961a6
 	{
3e961a6
 	req_reject(PBSE_BADCRED, 0, preq, NULL, "cannot authenticate user");
3e961a6
-	return;
3e961a6
+	return (PBSE_BADCRED);
3e961a6
 	}
3e961a6
 
3e961a6
 
3e961a6
@@ -470,7 +470,8 @@
3e961a6
   if(rc)
3e961a6
 	{
3e961a6
 	/* FAILED */
3e961a6
-	return;
3e961a6
+	req_reject(PBSE_SYSTEM, 0, preq, NULL, "munge failure");
3e961a6
+	return (PBSE_SYSTEM);
3e961a6
 	}
3e961a6
 
3e961a6
   /* SUCCESS */
3e961a6
@@ -482,7 +483,7 @@
3e961a6
   svr_conn[s].cn_authen = PBS_NET_CONN_AUTHENTICATED;
3e961a6
 
3e961a6
   reply_ack(preq);
3e961a6
-  return;
3e961a6
+  return (PBSE_NONE);
3e961a6
 
3e961a6
   }  /* END req_altauthenuser() */
3e961a6
 
3e961a6
Index: branches/2.5-fixes/src/server/process_request.c
3e961a6
===================================================================
3e961a6
--- branches/2.5-fixes/src/server/process_request.c	(revision 5100)
3e961a6
+++ branches/2.5-fixes/src/server/process_request.c	(revision 5101)
3e961a6
@@ -541,10 +541,21 @@
3e961a6
       rc = 0;  /* bypass the authentication of the user--trust the client completely */
3e961a6
     else if(munge_on)
3e961a6
       {
3e961a6
-      /* If munge_on is true we will validate the connection later */
3e961a6
-      conn_credent[sfds].timestamp = time_now;
3e961a6
-      svr_conn[sfds].cn_authen = PBS_NET_CONN_AUTHENTICATED;
3e961a6
-      rc = 0;
3e961a6
+      /* If munge_on is true we will validate the connection now */
3e961a6
+      if ( request->rq_type == PBS_BATCH_AltAuthenUser)
3e961a6
+        {
3e961a6
+        rc = req_altauthenuser(request);
3e961a6
+        if (rc == PBSE_NONE)
3e961a6
+          {
3e961a6
+          conn_credent[sfds].timestamp = time_now;
3e961a6
+          svr_conn[sfds].cn_authen = PBS_NET_CONN_AUTHENTICATED;
3e961a6
+          }
3e961a6
+        return;
3e961a6
+        }
3e961a6
+      else
3e961a6
+        {
3e961a6
+        rc = authenticate_user(request, &conn_credent[sfds]);
3e961a6
+        }
3e961a6
       }
3e961a6
     else if (svr_conn[sfds].cn_authen != PBS_NET_CONN_AUTHENTICATED)
3e961a6
       rc = PBSE_BADCRED;
3e961a6
@@ -1021,9 +1032,6 @@
3e961a6
       break;
3e961a6
 
3e961a6
     case PBS_BATCH_AltAuthenUser:
3e961a6
-      /* Use given authentication method to determine
3e961a6
-         if user is valid */
3e961a6
-       req_altauthenuser(request); 
3e961a6
 
3e961a6
       break;
3e961a6