[BACK] Return to cimservera.cpp CVS log [TXT][DIR] Up to [Pegasus] / pegasus / src / Pegasus / Security / Cimservera

Diff for /pegasus/src/Pegasus/Security/Cimservera/Attic/cimservera.cpp between version 1.6.30.4 and 1.6.30.5

version 1.6.30.4, 2006/12/31 23:03:58 version 1.6.30.5, 2007/01/01 18:34:35
Line 25 
Line 25 
 // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
 // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 // //
 //============================================================================== //==============================================================================
 // //
 //%///////////////////////////////////////////////////////////////////////////// //%/////////////////////////////////////////////////////////////////////////////
  
 #include "cimservera.h" #include "cimservera.h"
 #include <cstdio> #include <cstdio>
 #include <syslog.h> #include <syslog.h>
  
 static void Exit(int status) static void Exit(int status)
 { {
     if (status == 0)     syslog(LOG_INFO, "exit(%d)", status);
         syslog(LOG_INFO, "exiting with status=%d", status); 
     else 
         syslog(LOG_WARNING, "exiting with status=%d", status); 
  
     exit(status);     exit(status);
 } }
  
 int main(int argc, char* argv[]) int main(int argc, char* argv[])
 { {
     // Open syslog:     // Open syslog:
  
     openlog("cimservera", 0, LOG_AUTH);     openlog("cimservera", LOG_PID, LOG_AUTH);
     syslog(LOG_INFO, "started");     syslog(LOG_INFO, "started");
  
     // ATTN: Insert fingerprint logic to detect running of this program as     // ATTN: Insert fingerprint logic to detect running of this program as
     // non-child of executor.     // non-child of executor.
  
     // Check argumnents.     // Check argumnents.
  
     if (argc != 2)     if (argc != 2)
     {     {
         fprintf(stderr, "Usage: %s <socket-number>\n", argv[0]);         fprintf(stderr, "Usage: %s <socket-number>\n", argv[0]);
         Exit(1);         Exit(1);
     }     }
  
     // Open socket stream.     // Open socket stream.
  
Line 88 
Line 84 
     {     {
         close(sock);         close(sock);
         Exit(1);         Exit(1);
     }     }
  
     if (strcmp(request.arg0, "authenticate") == 0)     if (strcmp(request.arg0, "authenticate") == 0)
     {     {
         int status = PAMAuthenticateInProcess(request.arg1, request.arg2);         int status = PAMAuthenticateInProcess(request.arg1, request.arg2);
  
         if (status != 0)         if (status != 0)
         {         {
             syslog(LOG_WARNING, "PAM authentication failed on user \"%s\"",             syslog(LOG_WARNING, "PAM authentication failed on user \"%s\"",
                 request.arg1);                 request.arg1);
         }         }
  
         Send(sock, &status, sizeof(status));         Exit(status == 0 ? 0 : 1);
     }     }
     else if (strcmp(request.arg0, "validateUser") == 0)     else if (strcmp(request.arg0, "validateUser") == 0)
     {     {
         int status = PAMValidateUserInProcess(request.arg1);         int status = PAMValidateUserInProcess(request.arg1);
  
         if (status != 0)         if (status != 0)
         {         {
             syslog(LOG_WARNING, "PAM user validation failed on user \"%s\"",             syslog(LOG_WARNING, "PAM user validation failed on user \"%s\"",
                 request.arg1);                 request.arg1);
         }         }
  
         Send(sock, &status, sizeof(status));         Exit(status == 0 ? 0 : 1);
     }     }
     else     else
     {     {
         syslog(LOG_WARNING, "invalid request");         syslog(LOG_WARNING, "invalid request");
         close(sock);         close(sock);
         Exit(1);         Exit(1);
     }     }
  
     close(sock);     close(sock);
  
     Exit(0);     Exit(0);
 } }


Legend:
Removed from v.1.6.30.4 
changed lines
 Added in v.1.6.30.5