Rearrange stuff
This commit is contained in:
parent
518f578298
commit
d7e2aee3a3
21 changed files with 20 additions and 139 deletions
|
@ -23,6 +23,7 @@ if(WIN32)
|
||||||
target_compile_definitions(hermes PRIVATE WIN32)
|
target_compile_definitions(hermes PRIVATE WIN32)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
target_include_directories(hermes PRIVATE include)
|
||||||
target_compile_definitions(hermes PRIVATE LOGGER_CLASS=${LOGGER_CLASS})
|
target_compile_definitions(hermes PRIVATE LOGGER_CLASS=${LOGGER_CLASS})
|
||||||
target_sources(hermes PRIVATE src/${LOGGER_CLASS}.cpp)
|
target_sources(hermes PRIVATE src/${LOGGER_CLASS}.cpp)
|
||||||
|
|
||||||
|
|
|
@ -1,62 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
# Startup script for hermes
|
|
||||||
#
|
|
||||||
# chkconfig: 3 95 05
|
|
||||||
# description: hermes
|
|
||||||
|
|
||||||
# Source function library.
|
|
||||||
. /etc/rc.d/init.d/functions
|
|
||||||
|
|
||||||
prog=hermes
|
|
||||||
configfile=/etc/hermes/hermesrc
|
|
||||||
|
|
||||||
start() {
|
|
||||||
echo -n $"Starting $prog: "
|
|
||||||
daemon --check=$prog /usr/bin/hermes $configfile
|
|
||||||
RETVAL=$?
|
|
||||||
echo
|
|
||||||
}
|
|
||||||
|
|
||||||
stop() {
|
|
||||||
echo -n $"Stopping $prog: "
|
|
||||||
killproc $prog
|
|
||||||
RETVAL=$?
|
|
||||||
echo
|
|
||||||
}
|
|
||||||
|
|
||||||
safestop() {
|
|
||||||
echo -n $"Stopping $prog(will process pending connections):"
|
|
||||||
killproc $prog -INT
|
|
||||||
rm /var/run/$prog.pid
|
|
||||||
RETVAL=$?
|
|
||||||
echo
|
|
||||||
}
|
|
||||||
|
|
||||||
case "$1" in
|
|
||||||
start)
|
|
||||||
start
|
|
||||||
;;
|
|
||||||
|
|
||||||
stop)
|
|
||||||
stop
|
|
||||||
;;
|
|
||||||
|
|
||||||
restart)
|
|
||||||
safestop
|
|
||||||
sleep 2
|
|
||||||
start
|
|
||||||
;;
|
|
||||||
condrestart)
|
|
||||||
if test "x`pidfileofproc $prog`" != x; then
|
|
||||||
stop
|
|
||||||
start
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
|
|
||||||
*)
|
|
||||||
echo $"Usage: $0 {start|stop|restart|condrestart}"
|
|
||||||
exit 1
|
|
||||||
|
|
||||||
esac
|
|
||||||
|
|
||||||
exit $RETVAL
|
|
|
@ -1,77 +0,0 @@
|
||||||
Summary: An anti-spam SMTP proxy
|
|
||||||
Name: @PACKAGE@
|
|
||||||
Version: @VERSION@
|
|
||||||
Release: 0
|
|
||||||
License: GPL
|
|
||||||
Group: System Environment/Daemons
|
|
||||||
Packager: Veit Wahlich <cru@zodia.de>
|
|
||||||
URL: http://www.hermes-project.com/
|
|
||||||
Source0: http://www.hermes-project.com/files/%{name}-%{version}.tar.bz2
|
|
||||||
Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root
|
|
||||||
|
|
||||||
%description
|
|
||||||
hermes is a generic, lightweight, portable and fast anti-spam smtp proxy.
|
|
||||||
Supports greylisting, dns blacklisting/whitelisting, protocol throttling, banner delaying, spf and some
|
|
||||||
other tricks to reject most spam before it even enters your system.
|
|
||||||
|
|
||||||
%prep
|
|
||||||
%setup -q
|
|
||||||
|
|
||||||
%build
|
|
||||||
%configure --docdir=%{_datadir}/doc/%{name}-%{version}
|
|
||||||
%__make %{?_smp_mflags}
|
|
||||||
|
|
||||||
%install
|
|
||||||
%__rm -rf %{buildroot}
|
|
||||||
%__make DESTDIR=%{buildroot} install
|
|
||||||
%__mkdir_p %{buildroot}%{_sysconfdir}/rc.d/init.d
|
|
||||||
%__mkdir_p %{buildroot}%{_sysconfdir}/hermes
|
|
||||||
%__mkdir_p %{buildroot}%{_localstatedir}/hermes
|
|
||||||
%__install -m 0755 dists/fc_init %{buildroot}%{_sysconfdir}/rc.d/init.d/hermes
|
|
||||||
%__install -m 0600 dists/hermesrc.example %{buildroot}%{_sysconfdir}/hermes/hermesrc
|
|
||||||
|
|
||||||
%clean
|
|
||||||
%__rm -rf %{buildroot}
|
|
||||||
|
|
||||||
%post
|
|
||||||
/sbin/chkconfig --add hermes
|
|
||||||
|
|
||||||
%preun
|
|
||||||
if [ $1 = 0 ]; then # execute this only if we are NOT doing an upgrade
|
|
||||||
%{_sysconfdir}/rc.d/init.d/hermes stop >/dev/null 2>&1
|
|
||||||
/sbin/chkconfig --del hermes
|
|
||||||
fi
|
|
||||||
exit 0
|
|
||||||
|
|
||||||
%files
|
|
||||||
%defattr(-, root, root, 0755)
|
|
||||||
%doc ChangeLog TODO AUTHORS dists/hermesrc.example docs/hermes-options.html docs/installing-hermes.txt docs/gpl.txt
|
|
||||||
%{_bindir}/hermes
|
|
||||||
%{_sysconfdir}/rc.d/init.d/hermes
|
|
||||||
%config %{_sysconfdir}/hermes/hermesrc
|
|
||||||
%dir %attr(0700,nobody,nobody) %{_localstatedir}/hermes
|
|
||||||
|
|
||||||
%changelog
|
|
||||||
* Thu Jun 14 2007 Juan José Gutiérrez de Quevedo <juanjo@gutierrezdequevedo.com> 1.4
|
|
||||||
- removed patches, they are now on upstream
|
|
||||||
|
|
||||||
* Fri May 25 2007 Veit Wahlich <cru@zodia.de> 1.3-2
|
|
||||||
- added patch fix_whether (documentation fixes)
|
|
||||||
- added patch add_rejectnoresolve (reject on no DNS reverse resolution feature)
|
|
||||||
- changed RPM group to system daemon standard
|
|
||||||
|
|
||||||
* Sat May 19 2007 Veit Wahlich <cru@zodia.de> 1.3-1
|
|
||||||
- Made /etc/hermes/hermesrc readonly as it may contain passwords
|
|
||||||
- Fixed ownership and permissions of /var/hermes to match configuration default
|
|
||||||
- Silenced setup macro output as required by some distributions
|
|
||||||
- Fixed docdir to a LSB compliant location, will be replaced by rpmbuild
|
|
||||||
- Packaged extra documentation
|
|
||||||
- Removed hermes-options.html.in from docs
|
|
||||||
- Use directory macros for files section
|
|
||||||
- Further specfile cleanups and macro usage
|
|
||||||
|
|
||||||
* Tue May 15 2007 Juan José Gutiérrez de Quevedo <juanjo@gutierrezdequevedo.com>
|
|
||||||
- Fixed rpm to create /var/hermes
|
|
||||||
|
|
||||||
* Fri Apr 11 2007 Juan José Gutiérrez de Quevedo <juanjo@gutierrezdequevedo.com>
|
|
||||||
- Initial release
|
|
|
@ -3,6 +3,11 @@
|
||||||
#include <string>
|
#include <string>
|
||||||
#include "SocketInterface.h"
|
#include "SocketInterface.h"
|
||||||
|
|
||||||
|
#define SMTP_STATE_WAIT_FOR_HELO 0
|
||||||
|
#define SMTP_STATE_WAIT_FOR_MAILFROM 1
|
||||||
|
#define SMTP_STATE_WAIT_FOR_RCPTTO 2
|
||||||
|
#define SMTP_STATE_WAIT_FOR_DATA 3
|
||||||
|
|
||||||
class Proxy {
|
class Proxy {
|
||||||
public:
|
public:
|
||||||
Proxy(SocketInterface* outside_socket) : outside(outside_socket) {}
|
Proxy(SocketInterface* outside_socket) : outside(outside_socket) {}
|
14
test/CMakeLists.txt
Normal file
14
test/CMakeLists.txt
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
cmake_minimum_required(VERSION 3.31)
|
||||||
|
|
||||||
|
project(unittests)
|
||||||
|
|
||||||
|
find_package(GTest REQUIRED)
|
||||||
|
include_directories(${GTEST_INCLUDE_DIRS})
|
||||||
|
|
||||||
|
add_executable(spf_test tests/spf_test.cpp ../src/Spf.cpp) # Your test file
|
||||||
|
target_include_directories(spf_test PRIVATE ../include mocks)
|
||||||
|
target_link_libraries(spf_test ${GTEST_LIBRARIES} pthread)
|
||||||
|
|
||||||
|
add_executable(proxy_test tests/proxy_test.cpp ../src/Proxy.cpp) # Your test file
|
||||||
|
target_include_directories(proxy_test PRIVATE ../include mocks)
|
||||||
|
target_link_libraries(proxy_test ${GTEST_LIBRARIES} pthread)
|
Loading…
Add table
Reference in a new issue