-/* @(#) $Id$ */
+/* @(#) $Id: ./src/util/verify-agent-conf.c, 2011/09/08 dcid Exp $
+ */
/* Copyright (C) 2010 Trend Micro Inc.
* All right reserved.
#define ARGV0 "verify-agent-conf"
+/** help **/
+void helpmsg()
+{
+ printf("\nOSSEC HIDS %s: Verify agent.conf syntax for errors.\n", ARGV0);
+ printf("Usage: %s [-f <agent.conf file>]\n\n", ARGV0);
+ printf("Available options:\n");
+ printf("\t-h This help message.\n");
+ printf("\t-f Full file name and path to config file to be tested.\n");
+ printf("\t If this option is not specified the following default\n");
+ printf("\t will be used.\n");
+ printf(" ");
+ printf("\t Validation is successful, if no errors are shown.\n");
+ exit(1);
+}
+
/* main: v0.3: 2005/04/04 */
int main(int argc, char **argv)
{
+ char* ar=AGENTCONFIG;
+ int c=0;
int modules = 0;
logreader_config log_config;
/* Setting the name */
OS_SetName(ARGV0);
-
+
+
+ /* printf ("Agrc [%d], Argv [%s]\n", argc, *argv); */
+
+ /* user arguments */
+ if(argc > 1)
+ {
+ while((c = getopt(argc, argv, "Vdhf:")) != -1)
+ {
+ switch(c){
+ case 'V':
+ print_version();
+ break;
+ case 'h':
+ helpmsg();
+ break;
+ case 'd':
+ nowDebug();
+ break;
+ case 'f':
+ if(!optarg)
+ {
+ merror("%s: -f needs an argument",ARGV0);
+ helpmsg();
+ }
+ ar = optarg;
+ break;
+ default:
+ helpmsg();
+ break;
+ }
+
+ }
+ }
+
+
+
+ printf("\n%s: Verifying [%s].\n\n", ARGV0, ar);
modules|= CLOCALFILE;
modules|= CAGENT_CONFIG;
log_config.config = NULL;
- if(ReadConfig(modules, AGENTCONFIG, &log_config, NULL) < 0)
+ if(ReadConfig(modules, ar, &log_config, NULL) < 0)
{
return(OS_INVALID);
}
- logff = log_config.config;
+ logff = log_config.config;
return(0);