Windows build and other misc fixes.

remotes/origin/master
Victor Julien 13 years ago
parent 2295777691
commit d8356c5ebd

@ -16,24 +16,24 @@ install-data-am:
install-full: install install-conf install-rules install-full: install install-conf install-rules
install-conf: install-conf:
install -d $(e_sysconfdir) install -d "$(e_sysconfdir)"
@test -e $(e_sysconfdir)/suricata.yaml || install -m 600 $(top_srcdir)/suricata.yaml $(e_sysconfdir) @test -e "$(e_sysconfdir)/suricata.yaml" || install -m 600 "$(top_srcdir)/suricata.yaml" "$(e_sysconfdir)"
@test -e $(e_sysconfdir)/classification.config || install -m 600 $(top_srcdir)/classification.config $(e_sysconfdir) @test -e "$(e_sysconfdir)/classification.config" || install -m 600 "$(top_srcdir)/classification.config" "$(e_sysconfdir)"
@test -e $(e_sysconfdir)/reference.config || install -m 600 $(top_srcdir)/reference.config $(e_sysconfdir) @test -e "$(e_sysconfdir)/reference.config" || install -m 600 "$(top_srcdir)/reference.config" "$(e_sysconfdir)"
install -d $(localstatedir)/log/suricata/files install -d "$(e_logfilesdir)"
install-rules: install-rules:
install -d $(e_sysconfdir)/rules install -d "$(e_sysconfrulesdir)"
wget -qO - http://rules.emergingthreats.net/open/suricata/emerging.rules.tar.gz | tar -x -z -C $(e_sysconfdir) -f - wget -qO - http://rules.emergingthreats.net/open/suricata/emerging.rules.tar.gz | tar -x -z -C "$(e_sysconfdir)" -f -
@test -e $(e_sysconfdir)/rules/decoder-events.rules || install -m 600 $(top_srcdir)/rules/decoder-events.rules $(e_sysconfdir)/rules/ @test -e "$(e_sysconfrulesdir)decoder-events.rules" || install -m 600 "$(top_srcdir)/rules/decoder-events.rules" "$(e_sysconfrulesdir)"
@test -e $(e_sysconfdir)/rules/stream-events.rules || install -m 600 $(top_srcdir)/rules/stream-events.rules $(e_sysconfdir)/rules/ @test -e "$(e_sysconfrulesdir)stream-events.rules" || install -m 600 "$(top_srcdir)/rules/stream-events.rules" "$(e_sysconfrulesdir)"
@test -e $(e_sysconfdir)/rules/smtp-events.rules || install -m 600 $(top_srcdir)/rules/smtp-events.rules $(e_sysconfdir)/rules/ @test -e "$(e_sysconfrulesdir)smtp-events.rules" || install -m 600 "$(top_srcdir)/rules/smtp-events.rules" "$(e_sysconfrulesdir)"
@test -e $(e_sysconfdir)/rules/http-events.rules || install -m 600 $(top_srcdir)/rules/http-events.rules $(e_sysconfdir)/rules/ @test -e "$(e_sysconfrulesdir)http-events.rules" || install -m 600 "$(top_srcdir)/rules/http-events.rules" "$(e_sysconfrulesdir)"
@echo "" @echo ""
@echo "You can now start suricata by running as root something like '$(bindir)/suricata -c $(e_sysconfdir)/suricata.yaml -i eth0'." @echo "You can now start suricata by running as root something like '$(bindir)/suricata -c $(e_sysconfdir)/suricata.yaml -i eth0'."
@echo "" @echo ""
@echo "If a library like libhtp.so is not found, you can run suricata with:" @echo "If a library like libhtp.so is not found, you can run suricata with:"
@echo "'LD_LIBRARY_PATH=$(prefix)/lib $(bindir)/suricata -c $(e_sysconfdir)/suricata.yaml -i eth0'." @echo "'LD_LIBRARY_PATH="$(prefix)/lib" "$(bindir)/suricata" -c "$(e_sysconfdir)/suricata.yaml" -i eth0'."
@echo "" @echo ""
@echo "While rules are installed now, it's highly recommended to use a rule manager for maintaining rules." @echo "While rules are installed now, it's highly recommended to use a rule manager for maintaining rules."
@echo "The two most common are Oinkmaster and Pulledpork. For a guide see:" @echo "The two most common are Oinkmaster and Pulledpork. For a guide see:"

@ -1241,25 +1241,32 @@ eval "$2=[$]$2$3"
# suricata log dir # suricata log dir
if test "$WINDOWS_PATH" = "yes"; then if test "$WINDOWS_PATH" = "yes"; then
systemtype="`systeminfo | grep \"System Type\"`" systemtype="`systeminfo | grep \"based PC\"`"
case $systemtype in case "$systemtype" in
*x64*) *x64*)
e_logdir="C:\\Program Files (x86)\\Suricata\\log\\" e_winbase="C:\\\\Program Files (x86)\\\\Suricata"
e_sysconfdir="C:\\Program Files (x86)\\Suricata\\"
e_magic_file="C:\\Program Files (x86)\\Suricata\\magic.mgc"
;; ;;
*) *)
e_logdir="C:\\Program Files\\Suricata\\log\\" e_winbase="C:\\\\Program Files\\\\Suricata"
e_sysconfdir="C:\\Program Files\\Suricata\\"
e_magic_file="C:\\Program Files\\Suricata\\magic.mgc"
;; ;;
esac esac
e_sysconfdir="$e_winbase\\\\"
e_sysconfrulesdir="$e_winbase\\\\rules\\\\"
e_magic_file="$e_winbase\\\\magic.mgc"
e_logdir="$e_winbase\\\\log"
e_logfilesdir="$e_logdir\\\\files"
else else
EXPAND_VARIABLE(localstatedir, e_logdir, "/log/suricata/") EXPAND_VARIABLE(localstatedir, e_logdir, "/log/suricata/")
EXPAND_VARIABLE(localstatedir, e_logfilesdir, "/log/suricata/files")
EXPAND_VARIABLE(sysconfdir, e_sysconfdir, "/suricata/") EXPAND_VARIABLE(sysconfdir, e_sysconfdir, "/suricata/")
EXPAND_VARIABLE(sysconfdir, e_sysconfrulesdir, "/suricata/rules")
fi fi
AC_SUBST(e_logdir) AC_SUBST(e_logdir)
AC_SUBST(e_logfilesdir)
AC_SUBST(e_sysconfdir) AC_SUBST(e_sysconfdir)
AC_SUBST(e_sysconfrulesdir)
AC_DEFINE_UNQUOTED([CONFIG_DIR],["$e_sysconfdir"],[Our CONFIG_DIR])
AC_SUBST(e_magic_file) AC_SUBST(e_magic_file)
AC_OUTPUT(Makefile src/Makefile qa/Makefile qa/coccinelle/Makefile rules/Makefile doc/Makefile suricata.yaml) AC_OUTPUT(Makefile src/Makefile qa/Makefile qa/coccinelle/Makefile rules/Makefile doc/Makefile suricata.yaml)

@ -6,8 +6,6 @@ noinst_HEADERS = action-globals.h \
util-validate.h util-validate.h
bin_PROGRAMS = suricata bin_PROGRAMS = suricata
AM_CPPFLAGS = -DCONFIG_DIR=\"$(e_sysconfdir)\"
suricata_SOURCES = suricata.c suricata.h \ suricata_SOURCES = suricata.c suricata.h \
runmodes.c runmodes.h \ runmodes.c runmodes.h \
runmode-pcap.c runmode-pcap.h \ runmode-pcap.c runmode-pcap.h \

@ -243,8 +243,13 @@ char *DetectLoadCompleteSigPath(char *sig_file)
if (path == NULL) if (path == NULL)
return NULL; return NULL;
strlcpy(path, defaultpath, path_len); strlcpy(path, defaultpath, path_len);
if (path[strlen(path) - 1] != '/') #if defined OS_WIN32 || defined __CYGWIN__
if (path[strlen(path) - 1] != '\\')
strlcat(path, "\\\\", path_len);
#else
if (path[strlen(path) - 1] != '/')
strlcat(path, "/", path_len); strlcat(path, "/", path_len);
#endif
strlcat(path, sig_file, path_len); strlcat(path, sig_file, path_len);
} else { } else {
path = SCStrdup(sig_file); path = SCStrdup(sig_file);

@ -41,7 +41,11 @@
#define DETECT_CLASSCONFIG_REGEX "^\\s*config\\s*classification\\s*:\\s*([a-zA-Z][a-zA-Z0-9-_]*)\\s*,\\s*(.+)\\s*,\\s*(\\d+)\\s*$" #define DETECT_CLASSCONFIG_REGEX "^\\s*config\\s*classification\\s*:\\s*([a-zA-Z][a-zA-Z0-9-_]*)\\s*,\\s*(.+)\\s*,\\s*(\\d+)\\s*$"
/* Default path for the classification.config file */ /* Default path for the classification.config file */
#if defined OS_WIN32 || defined __CYGWIN__
#define SC_CLASS_CONF_DEF_CONF_FILEPATH CONFIG_DIR "\\\\classification.config"
#else
#define SC_CLASS_CONF_DEF_CONF_FILEPATH CONFIG_DIR "/classification.config" #define SC_CLASS_CONF_DEF_CONF_FILEPATH CONFIG_DIR "/classification.config"
#endif
/* Holds a pointer to the default path for the classification.config file */ /* Holds a pointer to the default path for the classification.config file */
static const char *default_file_path = SC_CLASS_CONF_DEF_CONF_FILEPATH; static const char *default_file_path = SC_CLASS_CONF_DEF_CONF_FILEPATH;

@ -75,7 +75,11 @@ typedef enum ThresholdRuleType {
#define DETECT_SUPPRESS_REGEX "^,\\s*track\\s*(by_dst|by_src)\\s*,\\s*ip\\s*([\\d.:/]+)*\\s*$" #define DETECT_SUPPRESS_REGEX "^,\\s*track\\s*(by_dst|by_src)\\s*,\\s*ip\\s*([\\d.:/]+)*\\s*$"
/* Default path for the threshold.config file */ /* Default path for the threshold.config file */
#if defined OS_WIN32 || defined __CYGWIN__
#define THRESHOLD_CONF_DEF_CONF_FILEPATH CONFIG_DIR "\\\\threshold.config"
#else
#define THRESHOLD_CONF_DEF_CONF_FILEPATH CONFIG_DIR "/threshold.config" #define THRESHOLD_CONF_DEF_CONF_FILEPATH CONFIG_DIR "/threshold.config"
#endif
static pcre *regex_base = NULL; static pcre *regex_base = NULL;
static pcre_extra *regex_base_study = NULL; static pcre_extra *regex_base_study = NULL;

Loading…
Cancel
Save