[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ossec-dev] ossec-hids: list_agents.c (NEW) Makefile (HEAD) clear_stats.c (HEAD) syscheck_update.c (HEAD) [dcid]



Module name:	ossec-hids
Changes by:	dcid	06/08/28 15:05:43

Modified files:
	Makefile clear_stats.c syscheck_update.c
Added files:
	list_agents.c

Log message:
Description: Adding list_agents tool.
Reviewed by: dcid
Bug:

--- NEW FILE: list_agents.c ---
/* @(#) $Id: list_agents.c,v 1.1 2006/08/28 18:05:43 dcid Exp $ */

/* Copyright (C) 2005,2006 Daniel B. Cid <dcid@xxxxxxxxx>
 * All right reserved.
 *
 * This program is a free software; you can redistribute it
 * and/or modify it under the terms of the GNU General Public
 * License (version 2) as published by the FSF - Free Software
 * Foundation
 */


#include "shared.h"
#include "read-agents.h"

#undef ARGV0
#define ARGV0 "list_agents"

/** help **/
void helpmsg()
{
    printf("\nOSSEC HIDS %s: List available agents.\n", ARGV0);
    printf("Available options:\n");
    printf("\t-h    This help message.\n");
    printf("\t-all  List all agents.\n");
    printf("\t-c    List the connected (active) agents.\n");
    printf("\t-n    List the not connected (active) agents.\n");
    exit(1);
}


/** main **/
int main(int argc, char **argv)
{
    char *dir = DEFAULTDIR;
    char *group = GROUPGLOBAL;
    char *user = USER;
    
    char *msg;
    char **agent_list;
    int gid;
    int uid;
    int flag;
    

    /* Setting the name */
    OS_SetName(ARGV0);
        
    
    /* user arguments */
    if(argc < 2)
    {
        helpmsg();
    }
    
    /* Getting the group name */
    gid = Privsep_GetGroup(group);
    uid = Privsep_GetUser(user);
    if(gid < 0)
    {
	    ErrorExit(USER_ERROR,user,group);
    }
	
    
    /* Setting the group */
    if(Privsep_SetGroup(gid) < 0)
    {
	    ErrorExit(SETGID_ERROR,ARGV0, group);
    }
    
    
    /* Chrooting to the default directory */
    if(Privsep_Chroot(dir) < 0)
    {
        ErrorExit(CHROOT_ERROR, ARGV0, dir);
    }


    /* Inside chroot now */
    nowChroot();
 

    /* Setting the user */
    if(Privsep_SetUser(uid) < 0)
    {
        ErrorExit(SETUID_ERROR, ARGV0, user);
    }
  
    /* User options */
    if(strcmp(argv[1], "-h") == 0)
    {
        helpmsg();
    }
    else if(strcmp(argv[1], "-all") == 0)
    {
        flag = GA_ALL;
        msg = "is available.";
    }
    else if(strcmp(argv[1], "-c") == 0)
    {
        flag = GA_ACTIVE;
        msg = "is active.";
    }
    else if(strcmp(argv[1], "-n") == 0)
    {
        flag = GA_NOTACTIVE;
        msg = "is not active.";
    }
    else
    {
        printf("\n** Invalid option '%s'.\n", argv[1]);
        helpmsg();
    }


    agent_list = get_agents(flag);
    if(agent_list)
    {
        while(*agent_list)
        {
            printf("%s %s\n", *agent_list, msg);
            agent_list++;
        }
    }
    else
    {
        printf("**No agent active\n");
    }
    return(0);
}


/* EOF */

Index: Makefile
===================================================================
RCS file: /usr/cvsroot/ossec-hids/src/util/Makefile,v
diff -u -r1.5 -r1.6
--- Makefile	23 Jun 2006 17:01:10 -0000	1.5
+++ Makefile	28 Aug 2006 18:05:43 -0000	1.6
@@ -13,7 +13,8 @@
 me:
 		$(CC) $(CFLAGS) ${SUP} syscheck_update.c $(OBJS) -o syscheck_update
 		$(CC) $(CFLAGS) clear_stats.c $(OBJS) -o clear_stats
+		$(CC) $(CFLAGS) list_agents.c $(OBJS) -o list_agents
 clean:
-		$(CLEAN) syscheck_update clear_stats
+		$(CLEAN) syscheck_update clear_stats list_agents
 build:
-		cp -pr syscheck_update clear_stats ${PT}../bin
+		cp -pr syscheck_update clear_stats list_agents ${PT}../bin

Index: clear_stats.c
===================================================================
RCS file: /usr/cvsroot/ossec-hids/src/util/clear_stats.c,v
diff -u -r1.1 -r1.2
--- clear_stats.c	28 Apr 2006 00:29:42 -0000	1.1
+++ clear_stats.c	28 Aug 2006 18:05:43 -0000	1.2
@@ -1,4 +1,4 @@
-/*   $OSSEC, clear_stats.c, v0.1, 2006/04/27, Daniel B. Cid$   */
+/* @(#) $Id$ */
 
 /* Copyright (C) 2003-2006 Daniel B. Cid <dcid@xxxxxxxxx>
  * All right reserved.

Index: syscheck_update.c
===================================================================
RCS file: /usr/cvsroot/ossec-hids/src/util/syscheck_update.c,v
diff -u -r1.5 -r1.6
--- syscheck_update.c	17 Aug 2006 00:41:21 -0000	1.5
+++ syscheck_update.c	28 Aug 2006 18:05:43 -0000	1.6
@@ -1,4 +1,4 @@
-/*   $OSSEC, syscheck_update.c, v0.2, 2006/02/07, Daniel B. Cid$   */
+/* @(#) $Id$ */
 
 /* Copyright (C) 2005,2006 Daniel B. Cid <dcid@xxxxxxxxx>
  * All right reserved.


OSSEC home | Main Index | Thread Index


OSSEC project: www.ossec.net.
Mailling list information: http://www.ossec.net/en/mailing_lists.html.