* configure the location of the key-files
* some inacuarcies at fmt_date and sieve.c
LIB_SUBDIRS=
PROG_SUBDIRS=@PROG_SUBDIRS@
SUBDIRS=$(LIB_SUBDIRS) $(PROG_SUBDIRS)
LIB_SUBDIRS=
PROG_SUBDIRS=@PROG_SUBDIRS@
SUBDIRS=$(LIB_SUBDIRS) $(PROG_SUBDIRS)
-LOCALEDIR=@LOCALEDIR@
-WWWDIR=@WWWDIR@
-EDITORDIR=@EDITORDIR@
+#LOCALEDIR=@LOCALEDIR@
+#WWWDIR=@WWWDIR@
+#EDITORDIR=@EDITORDIR@
# End of configuration section
# End of configuration section
$(LIBOBJS) $(LIBS) $(LDFLAGS) -o webserver
.c.o:
$(LIBOBJS) $(LIBS) $(LDFLAGS) -o webserver
.c.o:
- $(CC) $(CFLAGS) $(DEFS) -c $(PTHREAD_DEFS) \
- -DWEBCITDIR=\"$(WWWDIR)\" \
- -DLOCALEDIR=\"$(LOCALEDIR)\" \
- -DEDITORDIR=\"$(EDITORDIR)\" $<
+ $(CC) $(CFLAGS) $(DEFS) -c $(PTHREAD_DEFS) $<
- $(CC) $(CFLAGS) $(DEFS) -c $(PTHREAD_DEFS) \
- -DWEBCITDIR=\"$(WWWDIR)\" \
- -DLOCALEDIR=\"$(LOCALEDIR)\" \
- -DEDITORDIR=\"$(EDITORDIR)\"$<
-
+ $(CC) $(CFLAGS) $(DEFS) -c $(PTHREAD_DEFS) $<
+
+#.c.o:
+# $(CC) $(CFLAGS) $(DEFS) -c $(PTHREAD_DEFS) \
+# -DWEBCITDIR=\"$(WWWDIR)\" \
+# -DLOCALEDIR=\"$(LOCALEDIR)\" \
+# -DEDITORDIR=\"$(EDITORDIR)\" $<
+#
+#.cpp.o:
+# $(CC) $(CFLAGS) $(DEFS) -c $(PTHREAD_DEFS) \
+# -DWEBCITDIR=\"$(WWWDIR)\" \
+# -DLOCALEDIR=\"$(LOCALEDIR)\" \
+# -DEDITORDIR=\"$(EDITORDIR)\"$<
+#
Makefile: $(srcdir)/Makefile.in config.status
CONFIG_FILES=Makefile CONFIG_HEADERS= $(SHELL) ./config.status
Makefile: $(srcdir)/Makefile.in config.status
CONFIG_FILES=Makefile CONFIG_HEADERS= $(SHELL) ./config.status
+++ /dev/null
-/**
- * Ugly hack to make the non-automake build work without source changes
- */
-
-#define _GNU_SOURCE
-#define RUNDIR WEBCITDIR
-#define BASEDIR WEBCITDIR
-#define DATADIR WEBCITDIR
-#define PREFIX WEBCITDIR
PACKAGE=webcit
VERSION=7.13
PACKAGE=webcit
VERSION=7.13
-AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
-AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [our package name])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [our package version])
AC_SUBST(PACKAGE)
AC_SUBST(VERSION)
AC_SUBST(PROG_SUBDIRS)
AC_SUBST(PACKAGE)
AC_SUBST(VERSION)
AC_SUBST(PROG_SUBDIRS)
+AC_DEFINE(PROG_SUBDIRS, [], [Program dirs])
AC_CANONICAL_HOST
AC_PROG_INSTALL
missing_dir=`cd $ac_aux_dir && pwd`
AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
AC_CANONICAL_HOST
AC_PROG_INSTALL
missing_dir=`cd $ac_aux_dir && pwd`
AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+
+dnl Make sure we see all GNU and Solaris extensions.
+AC_GNU_SOURCE
+
AC_CHECK_PROG(SED, sed, sed, no)
AC_PREFIX_DEFAULT(/usr/local/webcit)
AC_CHECK_PROG(SED, sed, sed, no)
AC_PREFIX_DEFAULT(/usr/local/webcit)
+if test "$prefix" = NONE; then
+ AC_DEFINE_UNQUOTED(WEBCITDIR, "$ac_default_prefix", [define this to the Citadel home directory])
+ ssl_dir="$ac_default_prefix/keys"
+else
+ AC_DEFINE_UNQUOTED(WEBCITDIR, "$prefix", [define this to the Citadel home directory])
+ ssl_dir="$prefix/keys"
+fi
AC_ARG_WITH(with_libical, [ --with-libical use libical calendaring library])
AC_ARG_WITH(with_zlib, [ --with-zlib use zlib compression if present])
AC_ARG_WITH(with_libical, [ --with-libical use libical calendaring library])
AC_ARG_WITH(with_zlib, [ --with-zlib use zlib compression if present])
- AC_DEFINE(HAVE_LIBICAL)
+ AC_DEFINE(HAVE_LIBICAL,[],[whether we have libical available])
if test "x$ok_zlib" = xyes ; then
LIBS="-lz $LIBS"
if test "x$ok_zlib" = xyes ; then
LIBS="-lz $LIBS"
+ AC_DEFINE(HAVE_ZLIB,[],[whether we have zlib])
CFLAGS="$saved_CFLAGS"
if test "x$ac_cv_openssldir" != "xno" ; then
CFLAGS="$saved_CFLAGS"
if test "x$ac_cv_openssldir" != "xno" ; then
- AC_DEFINE(HAVE_OPENSSL)
+ AC_DEFINE(HAVE_OPENSSL,[],[whethe we have openssl])
LIBS="-lssl -lcrypto $LIBS"
dnl Need to recover ssldir - test above runs in subshell
ssldir=$ac_cv_openssldir
LIBS="-lssl -lcrypto $LIBS"
dnl Need to recover ssldir - test above runs in subshell
ssldir=$ac_cv_openssldir
+dnl Checks for the SSLdir
+dnl this is a bit different than the rest,
+dnl because of the citadel used to have a keys/ subdir.
+AC_ARG_WITH(ssldir,
+ [ --with-ssldir directory to store the ssl certificates under],
+ [ if test "x$withval" != "xno" ; then
+
+ ssl_dir="$withval"
+ fi
+ AC_SUBST(MAKE_SSL_DIR)
+ ]
+)
+AC_DEFINE_UNQUOTED(SSL_DIR, "$ssl_dir", [were should we put our keys?])
dnl Here is the check for a usable iconv
dnl Here is the check for a usable iconv
if test "$ok_iconv" != "no"; then
AC_MSG_RESULT(WebCit will be built with character set conversion.)
if test "$ok_iconv" != "no"; then
AC_MSG_RESULT(WebCit will be built with character set conversion.)
+ AC_DEFINE(HAVE_ICONV,[],[whether we have iconv for charset conversion])
else
AC_MSG_RESULT(WebCit will be built without character set conversion.)
fi
else
AC_MSG_RESULT(WebCit will be built without character set conversion.)
fi
if test "$ok_nls" != "no"; then
AC_MSG_RESULT(WebCit will be built with national language support.)
if test "$ok_nls" != "no"; then
AC_MSG_RESULT(WebCit will be built with national language support.)
+ AC_DEFINE(ENABLE_NLS, [], [whether we have NLS support])
PROG_SUBDIRS="$PROG_SUBDIRS po"
else
AC_MSG_RESULT(WebCit will be built without national language support.)
PROG_SUBDIRS="$PROG_SUBDIRS po"
else
AC_MSG_RESULT(WebCit will be built without national language support.)
)
if test "$prefix" = NONE; then
)
if test "$prefix" = NONE; then
- LOCALEDIR=$ac_default_prefix
- WWWDIR=$ac_default_prefix
- EDITORDIR=$ac_default_prefix/tiny_mce
+ datadir=$ac_default_prefix
+ localedir=$ac_default_prefix
+ wwwdir=$ac_default_prefix
+ rundir=$ac_default_prefix
+ editordir=$ac_default_prefix/tiny_mce
- LOCALEDIR=$prefix
- WWWDIR=$prefix
- EDITORDIR=$prefix/tiny_mce
+ localedir=$prefix
+ wwwdir=$prefix
+ datadir=$prefix
+ rundir=$prefix
+ editordir=$prefix/tiny_mce
fi
dnl where to put the locale files
AC_ARG_WITH(localedir,
[ --with-localedir directory to put the locale files to],
[ if test "x$withval" != "xno" ; then
fi
dnl where to put the locale files
AC_ARG_WITH(localedir,
[ --with-localedir directory to put the locale files to],
[ if test "x$withval" != "xno" ; then
+AC_DEFINE_UNQUOTED(LOCALEDIR, "$localedir",[where to find our pot files])
dnl Checks where to put our templates
AC_ARG_WITH(wwwdir,
[ --with-wwwdir directory to put our templates],
[ if test "x$withval" != "xno" ; then
dnl Checks where to put our templates
AC_ARG_WITH(wwwdir,
[ --with-wwwdir directory to put our templates],
[ if test "x$withval" != "xno" ; then
+ wwwdir=$withval
+ fi
+ ]
+)
+AC_DEFINE_UNQUOTED(WWWDIR, "$wwwdir", [where to find our templates and pics])
+
+
+
+dnl Checks for the run-dir for the sockets
+AC_ARG_WITH(rundir,
+ [ --with-rundir directory to place runtime files (UDS) to?],
+ [ if test "x$withval" != "xno" ; then
+ AC_DEFINE(HAVE_RUN_DIR, [], [should we put our non volatile files elsewhere?])
+
+ rundir=$withval
+ AC_SUBST(MAKE_RUN_DIR)
+AC_DEFINE_UNQUOTED(RUNDIR, "$rundir", [define, where the config should go in unix style])
+
+dnl Checks for the Datadir
+AC_ARG_WITH(datadir,
+ [ --with-datadir directory to store the databases under],
+ [ if test "x$withval" != "xno" ; then
+ datadir=$withval
+ fi
+ ]
+)
+AC_DEFINE_UNQUOTED(DATADIR, "$datadir",[define, if the user suplied a data-directory to use.])
dnl Checks where to put our editor
AC_ARG_WITH(editordir,
[ --with-editordir directory to put our editor],
[ if test "x$withval" != "xno" ; then
dnl Checks where to put our editor
AC_ARG_WITH(editordir,
[ --with-editordir directory to put our editor],
[ if test "x$withval" != "xno" ; then
+AC_DEFINE_UNQUOTED(EDITORDIR, "$editordir", [where to find our mail editor])
+AC_CONFIG_HEADER(sysdep.h)
AC_OUTPUT(Makefile po/Makefile )
echo ------------------------------------------------------------------------
AC_OUTPUT(Makefile po/Makefile )
echo ------------------------------------------------------------------------
#ifdef HAVE_OPENSSL
#include "webcit.h"
#ifdef HAVE_OPENSSL
#include "webcit.h"
/** \todo dirify */
/** where to find the keys */
#define CTDL_CRYPTO_DIR "./keys"
/** \todo dirify */
/** where to find the keys */
#define CTDL_CRYPTO_DIR "./keys"
-#define CTDL_KEY_PATH CTDL_CRYPTO_DIR "/citadel.key" /**< the key */
-#define CTDL_CSR_PATH CTDL_CRYPTO_DIR "/citadel.csr" /**< the csr file */
-#define CTDL_CER_PATH CTDL_CRYPTO_DIR "/citadel.cer" /**< the cer file */
+#define CTDL_KEY_PATH file_crpt_file_key /**< the key */
+#define CTDL_CSR_PATH file_crpt_file_csr /**< the csr file */
+#define CTDL_CER_PATH file_crpt_file_cer /**< the cer file */
#define SIGN_DAYS 365 /**< how long our certificate should live */
SSL_CTX *ssl_ctx; /**< SSL context */
#define SIGN_DAYS 365 /**< how long our certificate should live */
SSL_CTX *ssl_ctx; /**< SSL context */
PROFILE_ARGS= --with-gprof
endif
ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
PROFILE_ARGS= --with-gprof
endif
ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
- CFLAGS += -O0 -ggdb -rdynamic -D_GNU_SOURCE -MD -MP
+ CFLAGS += -O0 -ggdb -rdynamic -MD -MP
LDFLAGS += -pg
EXTRA_ARGS = --with-backtrace
else
LDFLAGS += -pg
EXTRA_ARGS = --with-backtrace
else
--with-editordir=/usr/share/tinymce/www \
--with-rundir=/var/run/citadel \
--with-ical --with-db --with-ldap \
--with-editordir=/usr/share/tinymce/www \
--with-rundir=/var/run/citadel \
--with-ical --with-db --with-ldap \
+ --with-ssldir=/etc/ssl/webcit/ \
--with-zlib --with-ssl --with-libiconf \
--with-newt --with-included-gettext \
--enable-debug $(EXTRA_ARGS) $(PROFILE_ARGS)
--with-zlib --with-ssl --with-libiconf \
--with-newt --with-included-gettext \
--enable-debug $(EXTRA_ARGS) $(PROFILE_ARGS)
int time_format;
time_format = get_time_format_cached ();
int time_format;
time_format = get_time_format_cached ();
-/// TODO: what about the time format?
today_timet = time(NULL);
localtime_r(&today_timet, &today_tm);
today_timet = time(NULL);
localtime_r(&today_timet, &today_tm);
#include "webcit.h"
#include "webserver.h"
#include "webcit.h"
#include "webserver.h"
{
if ((stat("/etc/rc.d/init.d/", &etcinitd) == -1) &&
(errno == ENOENT))
{
if ((stat("/etc/rc.d/init.d/", &etcinitd) == -1) &&
(errno == ENOENT))
- initfile = PREFIX"/webcit.init";
+ initfile = WEBCITDIR"/webcit.init";
else
initfile = "/etc/rc.d/init.d/webcit";
}
else
initfile = "/etc/rc.d/init.d/webcit";
}
}
/* Get started in a valid setup directory. */
}
/* Get started in a valid setup directory. */
- strcpy(setup_directory, PREFIX);
+ strcpy(setup_directory, WEBCITDIR);
if ( (using_web_installer) && (getenv("WEBCIT") != NULL) ) {
strcpy(setup_directory, getenv("WEBCIT"));
}
if ( (using_web_installer) && (getenv("WEBCIT") != NULL) ) {
strcpy(setup_directory, getenv("WEBCIT"));
}
char buf[256];
char fname[256];
char rule[2048];
char buf[256];
char fname[256];
char rule[2048];
encoded_len = 4096;
encoded_rule = (char*) malloc (encoded_len);
encoded_len = 4096;
encoded_rule = (char*) malloc (encoded_len);
#include <ctype.h>
#include <stdlib.h>
#include <ctype.h>
#include <stdlib.h>
#ifdef HAVE_OPENSSL
#define THREADSSL ((SSL *)pthread_getspecific(ThreadSSL))
extern pthread_key_t ThreadSSL;
#ifdef HAVE_OPENSSL
#define THREADSSL ((SSL *)pthread_getspecific(ThreadSSL))
extern pthread_key_t ThreadSSL;
+extern char ctdl_key_dir[PATH_MAX];
+extern char file_crpt_file_key[PATH_MAX];
+extern char file_crpt_file_csr[PATH_MAX];
+extern char file_crpt_file_cer[PATH_MAX];
#endif
struct serv_info serv_info;
#endif
struct serv_info serv_info;
extern pthread_mutex_t SessionListMutex;
extern pthread_key_t MyConKey;
extern pthread_mutex_t SessionListMutex;
extern pthread_key_t MyConKey;
+
+char ctdl_key_dir[PATH_MAX]=SSL_DIR;
+char file_crpt_file_key[PATH_MAX]="";
+char file_crpt_file_csr[PATH_MAX]="";
+char file_crpt_file_cer[PATH_MAX]="";
+
char socket_dir[PATH_MAX]; /**< where to talk to our citadel server */
static const char editor_absolut_dir[PATH_MAX]=EDITORDIR; /**< nailed to what configure gives us. */
static char static_dir[PATH_MAX]; /**< calculated on startup */
char socket_dir[PATH_MAX]; /**< where to talk to our citadel server */
static const char editor_absolut_dir[PATH_MAX]=EDITORDIR; /**< nailed to what configure gives us. */
static char static_dir[PATH_MAX]; /**< calculated on startup */
COMPUTE_DIRECTORY(static_dir);
basedir=DATADIR "/static.local";
COMPUTE_DIRECTORY(static_local_dir);
COMPUTE_DIRECTORY(static_dir);
basedir=DATADIR "/static.local";
COMPUTE_DIRECTORY(static_local_dir);
+
+ snprintf(file_crpt_file_key,
+ sizeof file_crpt_file_key,
+ "%s/citadel.key",
+ ctdl_key_dir);
+ snprintf(file_crpt_file_csr,
+ sizeof file_crpt_file_csr,
+ "%s/citadel.csr",
+ ctdl_key_dir);
+ snprintf(file_crpt_file_cer,
+ sizeof file_crpt_file_cer,
+ "%s/citadel.cer",
+ ctdl_key_dir);
+
/** we should go somewhere we can leave our coredump, if enabled... */
lprintf(9, "Changing directory to %s\n", socket_dir);
if (chdir(webcitdir) != 0) {
/** we should go somewhere we can leave our coredump, if enabled... */
lprintf(9, "Changing directory to %s\n", socket_dir);
if (chdir(webcitdir) != 0) {