Skip to Content.
Sympa Menu

sm-commit - [SM-Commit] GIT changes to master grimoire by Elisamuel Resto (fbe2cd83b3acab428f5e6f6ae0d4a445a04925f5)

sm-commit AT lists.ibiblio.org

Subject: Source Mage code commit list

List archive

Chronological Thread  
  • From: Elisamuel Resto <scm AT sourcemage.org>
  • To: sm-commit AT lists.ibiblio.org
  • Subject: [SM-Commit] GIT changes to master grimoire by Elisamuel Resto (fbe2cd83b3acab428f5e6f6ae0d4a445a04925f5)
  • Date: Sun, 7 Dec 2008 23:08:39 -0600

GIT changes to master grimoire by Elisamuel Resto <ryuji AT sourcemage.org>:

http/apache22/HISTORY | 3
http/apache22/SUB_DEPENDS | 2
mail/postfix/BUILD | 12 -
mail/postfix/CONFIGURE | 8
mail/postfix/DEPENDS | 4
mail/postfix/DETAILS | 2
mail/postfix/HISTORY | 10
mail/postfix/PRE_BUILD | 13 -
mail/postfix/postfix-2.5_sqlite.patch | 367 +++++++++++++++++++++++++++++++
mail/postfix/postfix-2.6_sqlite.patch | 391
++++++++++++++++++++++++++++++++++
python-pypi/moinmoin/DETAILS | 4
python-pypi/moinmoin/HISTORY | 3
ruby-raa/passenger/DETAILS | 7
utils/rsyslog/DETAILS | 18 +
utils/rsyslog/HISTORY | 4
15 files changed, 826 insertions(+), 22 deletions(-)

New commits:
commit fbe2cd83b3acab428f5e6f6ae0d4a445a04925f5
Author: Elisamuel Resto <ryuji AT sourcemage.org>
Commit: Elisamuel Resto <ryuji AT sourcemage.org>

utils/rsyslog: updated devel to 4.1.2, beta to 3.21.9 and stable to 3.20.1
SECURITY_PATCH=1 on all branches. Fixes a security vulnerability on the
$AllowedSender mechanism as described by the upstream author in
http://www.rsyslog.com/Article322.phtml

commit 38471161ee4781d0065365c632d35d2849d61087
Author: Elisamuel Resto <ryuji AT sourcemage.org>
Commit: Elisamuel Resto <ryuji AT sourcemage.org>

ruby-raa/passenger: updated to 2.0.5

commit 06ff431318b1cb422bda8b5d33f3b2214cb4a176
Author: Elisamuel Resto <ryuji AT sourcemage.org>
Commit: Elisamuel Resto <ryuji AT sourcemage.org>

python-pypi/moinmoin: updated to 1.8.0

commit 78b95e6f756359af396fd1c3339d043c0cac01b7
Author: Elisamuel Resto <ryuji AT sourcemage.org>
Commit: Elisamuel Resto <ryuji AT sourcemage.org>

mail/postfix: added SQLite support (via patch)

commit 5169fca8c5bc4cf06d930d4aa71afba16f387e0c
Author: Elisamuel Resto <ryuji AT sourcemage.org>
Commit: Elisamuel Resto <ryuji AT sourcemage.org>

mail/postfix: AUXLIBS cleanup in BUILD; logic fixes in CONFIGURE

commit 359aa9c738f25b82679269fa9cdf733ef0abb221
Author: Elisamuel Resto <ryuji AT sourcemage.org>
Commit: Elisamuel Resto <ryuji AT sourcemage.org>

mail/postfix: updated experimental branch to 2.6-20081205

commit ef22ababcc76dd092b88fd1aebc2b4a394473791
Author: Elisamuel Resto <ryuji AT sourcemage.org>
Commit: Elisamuel Resto <ryuji AT sourcemage.org>

http/apache22: space after 'message' call, else SUB_DEPENDS barfs

diff --git a/http/apache22/HISTORY b/http/apache22/HISTORY
index 8537acf..81ab03c 100644
--- a/http/apache22/HISTORY
+++ b/http/apache22/HISTORY
@@ -1,3 +1,6 @@
+2008-12-03 Elisamuel Resto <ryuji AT sourcemage.org>
+ * SUB_DEPENDS: space after message call, else SUB_DEPENDS barfs
+
2008-10-14 Ladislav Hagara <hgr AT vabo.cz>
* DETAILS: 2.2.10, SECURITY_PATCH=5, CVE-2008-2939

diff --git a/http/apache22/SUB_DEPENDS b/http/apache22/SUB_DEPENDS
index 673d0bb..0f10cb4 100755
--- a/http/apache22/SUB_DEPENDS
+++ b/http/apache22/SUB_DEPENDS
@@ -4,7 +4,7 @@ case $THIS_SUB_DEPENDS in
APACHE22_EXTRA="$APACHE22_EXTRA --enable-dav"
;;
UNIQ)
- message"${MESSAGE_COLOR}Forcing unique_id module as sub
dependency.${DEFAULT_COLOR}" &&
+ message "${MESSAGE_COLOR}Forcing unique_id module as sub
dependency.${DEFAULT_COLOR}" &&
APACHE22_EXTRA="${APACHE22_EXTRA} --enable-unique_id"
;;
*) echo "unknown sub_depends $THIS_SUB_DEPENDS"; return 1 ;;
diff --git a/mail/postfix/BUILD b/mail/postfix/BUILD
index f4bcb82..8bb84d1 100755
--- a/mail/postfix/BUILD
+++ b/mail/postfix/BUILD
@@ -8,7 +8,7 @@ chown mail:mail "$INSTALL_ROOT/var/spool/mail" &&
chgrp -R mail "$INSTALL_ROOT/var/spool/mail" &&

# We want blank vars
-local AUXLIBS="" &&
+local AUXLIBS="-L$INSTALL_ROOT/usr/lib -L$INSTALL_ROOT/lib -lm" &&
local CCARGS="" &&

if is_depends_enabled $SPELL openldap; then
@@ -29,14 +29,20 @@ if is_depends_enabled $SPELL cyrus-sasl; then
message "${MESSAGE_COLOR}Cyrus-SASL requested: Using
Cyrus-SASL${DEFAULT_COLOR}"
fi &&

+if is_depends_enabled $SPELL sqlite; then
+ AUXLIBS="$AUXLIBS -lsqlite3"
+ CCARGS="$CCARGS -DHAS_SQLITE -I$INSTALL_ROOT/usr/include" &&
+ message "${MESSAGE_COLOR}SQLite requested: Using SQLite${DEFAULT_COLOR}"
+fi &&
+
if is_depends_enabled $SPELL mysql; then
- AUXLIBS="$AUXLIBS -L$INSTALL_ROOT/usr/lib -lmysqlclient -lz -lm" &&
+ AUXLIBS="$AUXLIBS -lmysqlclient -lz" &&
CCARGS="$CCARGS -DHAS_MYSQL -I$INSTALL_ROOT/usr/include/mysql" &&
message "${MESSAGE_COLOR}MySQL requested: Using MySQL${DEFAULT_COLOR}"
fi &&

if is_depends_enabled $SPELL postgresql; then
- AUXLIBS="$AUXLIBS -L$INSTALL_ROOT/usr/lib -lpq" &&
+ AUXLIBS="$AUXLIBS -lpq" &&
CCARGS="$CCARGS -DHAS_PGSQL -I$INSTALL_ROOT/usr/include/pgsql" &&
message "${MESSAGE_COLOR}PostgreSQL requested: Using
PostgresSQL${DEFAULT_COLOR}"
fi &&
diff --git a/mail/postfix/CONFIGURE b/mail/postfix/CONFIGURE
index f56ea58..abaef3d 100755
--- a/mail/postfix/CONFIGURE
+++ b/mail/postfix/CONFIGURE
@@ -1,12 +1,12 @@
local PFIX_VER=$(installed_version $SPELL) &&
PFIX_VER=$(echo ${PFIX_VER:0:5} | sed -e 's/\.//g') &&

-if [[ $PFIX_VER < 255 ]]; then
+if [[ $PFIX_VER -lt 255 ]]; then
persistent_add POSTFIX_VDA &&
POSTFIX_VDA=$VDA
fi &&

-if [[ -f /etc/postfix/main.cf ]]; then
+if [[ -f $INSTALL_ROOT/etc/postfix/main.cf ]]; then
persistent_add POSTFIX_PRE_EXISTING &&
POSTFIX_PRE_EXISTING="yes" &&

@@ -36,4 +36,6 @@ config_query POSTFIX_BENCH "Install smtpstone benckmarking
tools?" n &&
#message "${MESSAGE_COLOR}You should run newaliases after each aliases file
update, and on first $spell cast...$}DEFAULT_COLOR}" &&
#config_query ALIAS "Run newaliases after cast?" y &&

-config_query POSTFIX_VDA "Apply Virtual Delivery Agent (VDA) patch?
(EXPERIMENTAL)" n
+if [[ "$POSTFIX_EXP" != "y" ]]; then
+ config_query POSTFIX_VDA "Apply Virtual Delivery Agent (VDA) patch?
(EXPERIMENTAL)" n
+fi
diff --git a/mail/postfix/DEPENDS b/mail/postfix/DEPENDS
index e772230..fcbbc0c 100755
--- a/mail/postfix/DEPENDS
+++ b/mail/postfix/DEPENDS
@@ -1,6 +1,10 @@
depends db &&
depends pcre &&

+optional_depends sqlite \
+ "" "" \
+ "for SQLite support (via patch)" &&
+
optional_depends mysql \
"" "" \
"for MySQL support" &&
diff --git a/mail/postfix/DETAILS b/mail/postfix/DETAILS
index a320f23..4715b97 100755
--- a/mail/postfix/DETAILS
+++ b/mail/postfix/DETAILS
@@ -1,7 +1,7 @@
SPELL=postfix

if [[ "${POSTFIX_EXP}" == "y" ]]; then
- VERSION=2.6-20080903
+ VERSION=2.6-20081205
PFIX_BRANCH=experimental
else
VERSION=2.5.5
diff --git a/mail/postfix/HISTORY b/mail/postfix/HISTORY
index 67bd081..37476fd 100644
--- a/mail/postfix/HISTORY
+++ b/mail/postfix/HISTORY
@@ -1,3 +1,13 @@
+2008-12-07 Elisamuel Resto <ryuji AT sourcemage.org>
+ * CONFIGURE: VDA patch is for non-experimental; -lt in the version
check
+ and added $INSTALL_ROOT to the config file existance check.
+ * BUILD: reduced the repeatedly used flags in AUXLIBS
+ * BUILD, DEPENDS, PRE_BUILD: added logic for SQLite support (via
patch)
+ * postfix-2.{5,6}_sqlite.patch: added, patch for SQLite support
+
+2008-12-03 Elisamuel Resto <ryuji AT sourcemage.org>
+ * DETAILS: postfix experimental 2.6-20081205
+
2008-10-03 Elisamuel Resto <ryuji AT sourcemage.org>
* PREPARE, CONFIGURE: previous variable import checks replaced

diff --git a/mail/postfix/PRE_BUILD b/mail/postfix/PRE_BUILD
index ead491e..fcdc9fe 100755
--- a/mail/postfix/PRE_BUILD
+++ b/mail/postfix/PRE_BUILD
@@ -1,9 +1,16 @@
-mk_source_dir "$SOURCE_DIRECTORY" &&
-unpack_file &&
+default_pre_build &&
+cd "$SOURCE_DIRECTORY" &&
+
+if is_depends_enabled $SPELL sqlite; then
+ if [[ "$POSTFIX_EXP" == "y" ]]; then
+ patch -p1 -i "$SPELL_DIRECTORY/postfix-2.6_sqlite.patch"
+ else
+ patch -p1 -i "$SPELL_DIRECTORY/postfix-2.5_sqlite.patch"
+ fi
+fi &&

if [[ "$POSTFIX_VDA" == "y" ]] && [[ "$POSTFIX_EXP" == "n" ]]; then
verify_file 3 &&
- cd "$SOURCE_DIRECTORY" &&
message "${MESSAGE_COLOR}Applying VDA Patch:
${SOURCE3/.gz}${DEFAULT_COLOR}" &&
gzip -cd "$SOURCE_CACHE/$SOURCE3" | patch -p1
fi
diff --git a/mail/postfix/postfix-2.5_sqlite.patch
b/mail/postfix/postfix-2.5_sqlite.patch
new file mode 100644
index 0000000..3834d97
--- /dev/null
+++ b/mail/postfix/postfix-2.5_sqlite.patch
@@ -0,0 +1,367 @@
+diff -durN postfix-2.5.0/src/global/Makefile.in
postfix-2.5.0_sqlite/src/global/Makefile.in
+--- postfix-2.5.0/src/global/Makefile.in Thu Dec 6 13:49:03 2007
++++ postfix-2.5.0_sqlite/src/global/Makefile.in Tue Feb 12 09:27:16
2008
+@@ -4,7 +4,7 @@
+ clnt_stream.c conv_time.c db_common.c debug_peer.c debug_process.c \
+ defer.c deliver_completed.c deliver_flock.c deliver_pass.c \
+ deliver_request.c dict_ldap.c dict_mysql.c dict_pgsql.c \
+- dict_proxy.c domain_list.c dot_lockfile.c dot_lockfile_as.c \
++ dict_proxy.c dict_sqlite.c domain_list.c dot_lockfile.c
dot_lockfile_as.c \
+ dsb_scan.c dsn.c dsn_buf.c dsn_mask.c dsn_print.c dsn_util.c \
+ ehlo_mask.c ext_prop.c file_id.c flush_clnt.c header_opts.c \
+ header_token.c input_transp.c int_filt.c is_header.c log_adhoc.c \
+@@ -34,7 +34,7 @@
+ clnt_stream.o conv_time.o db_common.o debug_peer.o debug_process.o \
+ defer.o deliver_completed.o deliver_flock.o deliver_pass.o \
+ deliver_request.o dict_ldap.o dict_mysql.o dict_pgsql.o \
+- dict_proxy.o domain_list.o dot_lockfile.o dot_lockfile_as.o \
++ dict_proxy.o dict_sqlite.o domain_list.o dot_lockfile.o
dot_lockfile_as.o \
+ dsb_scan.o dsn.o dsn_buf.o dsn_mask.o dsn_print.o dsn_util.o \
+ ehlo_mask.o ext_prop.o file_id.o flush_clnt.o header_opts.o \
+ header_token.o input_transp.o int_filt.o is_header.o log_adhoc.o \
+@@ -63,7 +63,7 @@
+ canon_addr.h cfg_parser.h cleanup_user.h clnt_stream.h config.h \
+ conv_time.h db_common.h debug_peer.h debug_process.h defer.h \
+ deliver_completed.h deliver_flock.h deliver_pass.h deliver_request.h \
+- dict_ldap.h dict_mysql.h dict_pgsql.h dict_proxy.h domain_list.h \
++ dict_ldap.h dict_mysql.h dict_pgsql.h dict_proxy.h dict_sqlite.h
domain_list.h \
+ dot_lockfile.h dot_lockfile_as.h dsb_scan.h dsn.h dsn_buf.h \
+ dsn_mask.h dsn_print.h dsn_util.h ehlo_mask.h ext_prop.h \
+ file_id.h flush_clnt.h header_opts.h header_token.h input_transp.h \
+@@ -860,6 +860,13 @@
+ dict_proxy.o: dict_proxy.h
+ dict_proxy.o: mail_params.h
+ dict_proxy.o: mail_proto.h
++dict_sqlite.o: ../../include/dict.h
++dict_sqlite.o: ../../include/msg.h
++dict_sqlite.o: ../../include/sys_defs.h
++dict_sqlite.o: cfg_parser.h
++dict_sqlite.o: db_common.h
++dict_sqlite.o: dict_sqlite.c
++dict_sqlite.o: dict_sqlite.h
+ domain_list.o: ../../include/match_list.h
+ domain_list.o: ../../include/match_ops.h
+ domain_list.o: ../../include/sys_defs.h
+@@ -1219,6 +1226,7 @@
+ mail_dict.o: dict_mysql.h
+ mail_dict.o: dict_pgsql.h
+ mail_dict.o: dict_proxy.h
++mail_dict.o: dict_sqlite.h
+ mail_dict.o: mail_dict.c
+ mail_dict.o: mail_dict.h
+ mail_error.o: ../../include/name_mask.h
+diff -durN postfix-2.5.0/src/global/dict_sqlite.c
postfix-2.5.0_sqlite/src/global/dict_sqlite.c
+--- postfix-2.5.0/src/global/dict_sqlite.c Thu Jan 1 00:00:00 1970
++++ postfix-2.5.0_sqlite/src/global/dict_sqlite.c Tue Feb 12 09:27:16
2008
+@@ -0,0 +1,254 @@
++/*++
++/* NAME
++/* dict_sqlite 3
++/* SUMMARY
++/* dictionary manager interface to SQLite3 databases
++/* SYNOPSIS
++/* #include <dict_sqlite.h>
++/*
++/* DICT *dict_sqlite_open(name, open_flags, dict_flags)
++/* const char *name;
++/* int open_flags;
++/* int dict_flags;
++/* DESCRIPTION
++/* dict_sqlite_open() creates a dictionary of type 'sqlite'. This
++/* dictionary is an interface for the postfix key->value mappings
++/* to SQLite. The result is a pointer to the installed dictionary,
++/* or a null pointer in case of problems.
++/* .PP
++/* Arguments:
++/* .IP name
++/* Either the path to the SQLite configuration file (if it starts
++/* with '/' or '.'), or the prefix which will be used to obtain
++/* main.cf configuration parameters for this search.
++/*
++/* In the first case, the configuration parameters below are
++/* specified in the file as \fIname\fR=\fBvalue\fR pairs.
++/*
++/* In the second case, the configuration parameters are
++/* prefixed with the value of \fIname\fR and an underscore,
++/* and they are specified in main.cf. For example, if this
++/* value is \fIsqlitecon\fR, the parameters would look like
++/* \fIsqlitecon_user\fR, \fIsqlitecon_table\fR, and so on.
++/*
++/* .IP open_flags
++/* Must be O_RDONLY.
++/* .IP dict_flags
++/* See dict_open(3).
++/* .PP
++/* Configuration parameters:
++/*
++/* The parameters encodes a number of pieces of information:
++/* dbpath, query, table, select_field and where_field:
++/* .IP \fIdbpath\fR
++/* Path to SQLite database
++/* .IP \fIquery\fR
++/* Query template, before the query is actually issued, variable
++/* substitutions are performed. See sqlite_table(5) for details. If
++/* No query is specified, the legacy variables \fItable\fR,
++/* \fIselect_field\fR, \fIwhere_field\fR and \fIadditional_conditions\fR
++/* are used to construct the query template.
++/* .IP \fIresult_format\fR
++/* The format used to expand results from queries. Substitutions
++/* are performed as described in sqlite_table(5). Defaults to returning
++/* the lookup result unchanged.
++/* .IP expansion_limit
++/* Limit (if any) on the total number of lookup result values. Lookups
which
++/* exceed the limit fail with dict_errno=DICT_ERR_RETRY. Note that each
++/* non-empty (and non-NULL) column of a multi-column result row counts as
++/* one result.
++/*
++/* SEE ALSO
++/* dict(3) generic dictionary manager
++/* AUTHOR(S)
++/* Axel Steiner
++/* ast AT treibsand.com
++/*--*/
++
++/* System library. */
++#include "sys_defs.h"
++
++#ifdef HAS_SQLITE
++#include <sqlite3.h>
++
++/* Utility library. */
++
++#include "msg.h"
++#include "dict.h"
++#include "vstring.h"
++#include "stringops.h"
++
++/* Global library. */
++
++#include "cfg_parser.h"
++#include "db_common.h"
++
++/* Application-specific. */
++
++#include "dict_sqlite.h"
++
++typedef struct {
++ DICT dict;
++ CFG_PARSER *parser;
++ sqlite3 *db;
++ char *dbpath;
++ char *query;
++ char *result_format;
++ int expansion_limit;
++ void *ctx;
++} DICT_SQLITE;
++
++typedef sqlite3_stmt *SQL;
++
++/* internal function declarations */
++
++static const char *dict_sqlite_lookup(DICT *, const char *);
++DICT *dict_sqlite_open(const char *, int, int);
++static void dict_sqlite_close(DICT *);
++static void sqlite_parse_config(DICT_SQLITE *, const char *);
++
++
++/* dict_sqlite_close - close the database */
++
++static void dict_sqlite_close(DICT *dict) {
++ const char *myname = "dict_sqlite_close";
++ DICT_SQLITE *dict_sqlite = (DICT_SQLITE *) dict;
++
++ if (msg_verbose)
++ msg_info("%s: dict_sqlite_close", myname);
++ if (sqlite3_close(dict_sqlite->db) != SQLITE_OK)
++ msg_fatal("%s: DB close failed", myname);
++ cfg_parser_free(dict_sqlite->parser);
++ if (dict->fold_buf)
++ vstring_free(dict->fold_buf);
++ dict_free(dict);
++}
++
++
++/* dict_sqlite_lookup - find database entry */
++
++static const char *dict_sqlite_lookup(DICT *dict, const char *name) {
++ const char *myname = "dict_sqlite_lookup";
++ DICT_SQLITE *dict_sqlite = (DICT_SQLITE *) dict;
++ SQL sql;
++ const char *zErrMsg;
++ static VSTRING *query;
++ static VSTRING *result;
++ const char *r;
++ int expansion = 0;
++
++ /*
++ * Optionally fold the key.
++ */
++ if (dict->fold_buf) {
++ vstring_strcpy(dict->fold_buf, name);
++ name = lowercase(vstring_str(dict->fold_buf));
++ }
++
++ if (db_common_check_domain(dict_sqlite->ctx, name) == 0) {
++ if (msg_verbose)
++ msg_info("%s: Skipping lookup of '%s'", myname, name);
++ return (0);
++ }
++
++#define INIT_VSTR(buf, len) do { \
++ if (buf == 0) \
++ buf = vstring_alloc(len); \
++ VSTRING_RESET(buf); \
++ VSTRING_TERMINATE(buf); \
++ } while (0)
++
++ INIT_VSTR(query, 10);
++
++ if (!db_common_expand(dict_sqlite->ctx, dict_sqlite->query,
++ name, 0, query, NULL))
++ return (0);
++
++ if (msg_verbose)
++ msg_info("%s: %s: Searching with query %s", myname,
++ dict_sqlite->parser->name,
vstring_str(query));
++
++
if(sqlite3_prepare_v2(dict_sqlite->db,vstring_str(query),-1,&sql,&zErrMsg)!=SQLITE_OK)
{
++ msg_fatal("%s: sql prepare
%s\n",myname,sqlite3_errmsg(dict_sqlite->db));
++ }
++
++ INIT_VSTR(result, 10);
++ while (sqlite3_step(sql) == SQLITE_ROW ) {
++ if (db_common_expand(dict_sqlite->ctx,
dict_sqlite->result_format,
++ sqlite3_column_text(sql, 0), name,
result, 0)
++ && dict_sqlite->expansion_limit > 0
++ && ++expansion > dict_sqlite->expansion_limit) {
++ msg_warn("%s: %s: Expansion limit exceeded for key:
'%s'",
++ myname, dict_sqlite->parser->name, name);
++ dict_errno = DICT_ERR_RETRY;
++ break;
++ }
++ }
++
++ if(sqlite3_finalize(sql)){
++ msg_fatal("%s: sql finalize for %s;
%s\n",myname,vstring_str(query),sqlite3_errmsg(dict_sqlite->db));
++ return(0);
++ }
++
++
++ r = vstring_str(result);
++ return ((dict_errno == 0 && *r) ? r : 0);
++}
++
++/* sqlite_parse_config - parse sqlite configuration file */
++
++static void sqlite_parse_config(DICT_SQLITE *dict_sqlite, const char
*sqlitecf) {
++ CFG_PARSER *p;
++ VSTRING *buf;
++
++ p = dict_sqlite->parser = cfg_parser_alloc(sqlitecf);
++ dict_sqlite->dbpath = cfg_get_str(p, "dbpath", "", 1, 0);
++ dict_sqlite->result_format = cfg_get_str(p, "result_format", "%s", 1,
0);
++
++ if ((dict_sqlite->query = cfg_get_str(p, "query", NULL, 0, 0)) == 0) {
++ buf = vstring_alloc(64);
++ db_common_sql_build_query(buf, p);
++ dict_sqlite->query = vstring_export(buf);
++ }
++ dict_sqlite->expansion_limit = cfg_get_int(p,"expansion_limit", 0, 0,
0);
++ dict_sqlite->ctx = 0;
++
++ (void) db_common_parse(&dict_sqlite->dict, &dict_sqlite->ctx,
dict_sqlite->query, 1);
++ (void) db_common_parse(0, &dict_sqlite->ctx,
dict_sqlite->result_format, 0);
++
++ db_common_parse_domain(p, dict_sqlite->ctx);
++
++ if (db_common_dict_partial(dict_sqlite->ctx))
++ dict_sqlite->dict.flags |= DICT_FLAG_PATTERN;
++ else
++ dict_sqlite->dict.flags |= DICT_FLAG_FIXED;
++
++ if (dict_sqlite->dict.flags & DICT_FLAG_FOLD_FIX)
++ dict_sqlite->dict.fold_buf = vstring_alloc(10);
++}
++
++/* dict_sqlite_open - open sqlite database */
++
++DICT *dict_sqlite_open(const char *name, int open_flags, int dict_flags) {
++ DICT_SQLITE *dict_sqlite;
++
++ /*
++ * Sanity checks.
++ */
++ if (open_flags != O_RDONLY)
++ msg_fatal("%s:%s map requires O_RDONLY access mode",
DICT_TYPE_SQLITE, name);
++
++ dict_sqlite = (DICT_SQLITE *) dict_alloc(DICT_TYPE_SQLITE, name,
sizeof(DICT_SQLITE));
++ dict_sqlite->dict.lookup = dict_sqlite_lookup;
++ dict_sqlite->dict.close = dict_sqlite_close;
++ dict_sqlite->dict.flags = dict_flags;
++ sqlite_parse_config(dict_sqlite, name);
++
++ if (sqlite3_open(dict_sqlite->dbpath, &dict_sqlite->db)) {
++ msg_fatal("Can't open database: %s\n",
sqlite3_errmsg(dict_sqlite->db));
++ sqlite3_close(dict_sqlite->db);
++ }
++
++ return (DICT_DEBUG (&dict_sqlite->dict));
++}
++#endif
+diff -durN postfix-2.5.0/src/global/dict_sqlite.h
postfix-2.5.0_sqlite/src/global/dict_sqlite.h
+--- postfix-2.5.0/src/global/dict_sqlite.h Thu Jan 1 00:00:00 1970
++++ postfix-2.5.0_sqlite/src/global/dict_sqlite.h Tue Feb 12 09:27:16
2008
+@@ -0,0 +1,32 @@
++#ifndef _DICT_SQLITE_H_INCLUDED_
++#define _DICT_SQLITE_H_INCLUDED_
++
++/*++
++/* NAME
++/* dict_sqlite 3h
++/* SUMMARY
++/* dictionary manager interface to sqlite databases
++/* SYNOPSIS
++/* #include <dict_sqlite.h>
++/* DESCRIPTION
++/* .nf
++
++ /*
++ * Utility library.
++ */
++#include <dict.h>
++
++ /*
++ * External interface.
++ */
++#define DICT_TYPE_SQLITE "sqlite"
++
++extern DICT *dict_sqlite_open(const char *, int, int);
++
++
++/* AUTHOR(S)
++/* Axel Steiner
++/* ast AT treibsand.com
++/*--*/
++
++#endif
+diff -durN postfix-2.5.0/src/global/mail_dict.c
postfix-2.5.0_sqlite/src/global/mail_dict.c
+--- postfix-2.5.0/src/global/mail_dict.c Tue Jan 8 21:07:47 2008
++++ postfix-2.5.0_sqlite/src/global/mail_dict.c Tue Feb 12 09:27:16
2008
+@@ -36,6 +36,7 @@
+ #include <dict_ldap.h>
+ #include <dict_mysql.h>
+ #include <dict_pgsql.h>
++#include <dict_sqlite.h>
+ #include <mail_dict.h>
+
+ typedef struct {
+@@ -53,6 +54,9 @@
+ #endif
+ #ifdef HAS_PGSQL
+ DICT_TYPE_PGSQL, dict_pgsql_open,
++#endif
++#ifdef HAS_SQLITE
++ DICT_TYPE_SQLITE, dict_sqlite_open,
+ #endif
+ 0,
+ };
diff --git a/mail/postfix/postfix-2.6_sqlite.patch
b/mail/postfix/postfix-2.6_sqlite.patch
new file mode 100644
index 0000000..7ce2398
--- /dev/null
+++ b/mail/postfix/postfix-2.6_sqlite.patch
@@ -0,0 +1,391 @@
+diff -durN postfix-2.6-20080216/src/global/Makefile.in
postfix-2.6-20080216_sqlite/src/global/Makefile.in
+--- postfix-2.6-20080216/src/global/Makefile.in Thu Dec 6 13:49:03
2007
++++ postfix-2.6-20080216_sqlite/src/global/Makefile.in Tue Feb 19 10:42:23
2008
+@@ -4,7 +4,7 @@
+ clnt_stream.c conv_time.c db_common.c debug_peer.c debug_process.c \
+ defer.c deliver_completed.c deliver_flock.c deliver_pass.c \
+ deliver_request.c dict_ldap.c dict_mysql.c dict_pgsql.c \
+- dict_proxy.c domain_list.c dot_lockfile.c dot_lockfile_as.c \
++ dict_proxy.c dict_sqlite.c domain_list.c dot_lockfile.c
dot_lockfile_as.c \
+ dsb_scan.c dsn.c dsn_buf.c dsn_mask.c dsn_print.c dsn_util.c \
+ ehlo_mask.c ext_prop.c file_id.c flush_clnt.c header_opts.c \
+ header_token.c input_transp.c int_filt.c is_header.c log_adhoc.c \
+@@ -34,7 +34,7 @@
+ clnt_stream.o conv_time.o db_common.o debug_peer.o debug_process.o \
+ defer.o deliver_completed.o deliver_flock.o deliver_pass.o \
+ deliver_request.o dict_ldap.o dict_mysql.o dict_pgsql.o \
+- dict_proxy.o domain_list.o dot_lockfile.o dot_lockfile_as.o \
++ dict_proxy.o dict_sqlite.o domain_list.o dot_lockfile.o
dot_lockfile_as.o \
+ dsb_scan.o dsn.o dsn_buf.o dsn_mask.o dsn_print.o dsn_util.o \
+ ehlo_mask.o ext_prop.o file_id.o flush_clnt.o header_opts.o \
+ header_token.o input_transp.o int_filt.o is_header.o log_adhoc.o \
+@@ -63,7 +63,7 @@
+ canon_addr.h cfg_parser.h cleanup_user.h clnt_stream.h config.h \
+ conv_time.h db_common.h debug_peer.h debug_process.h defer.h \
+ deliver_completed.h deliver_flock.h deliver_pass.h deliver_request.h \
+- dict_ldap.h dict_mysql.h dict_pgsql.h dict_proxy.h domain_list.h \
++ dict_ldap.h dict_mysql.h dict_pgsql.h dict_proxy.h dict_sqlite.h
domain_list.h \
+ dot_lockfile.h dot_lockfile_as.h dsb_scan.h dsn.h dsn_buf.h \
+ dsn_mask.h dsn_print.h dsn_util.h ehlo_mask.h ext_prop.h \
+ file_id.h flush_clnt.h header_opts.h header_token.h input_transp.h \
+@@ -860,6 +860,13 @@
+ dict_proxy.o: dict_proxy.h
+ dict_proxy.o: mail_params.h
+ dict_proxy.o: mail_proto.h
++dict_sqlite.o: ../../include/dict.h
++dict_sqlite.o: ../../include/msg.h
++dict_sqlite.o: ../../include/sys_defs.h
++dict_sqlite.o: cfg_parser.h
++dict_sqlite.o: db_common.h
++dict_sqlite.o: dict_sqlite.c
++dict_sqlite.o: dict_sqlite.h
+ domain_list.o: ../../include/match_list.h
+ domain_list.o: ../../include/match_ops.h
+ domain_list.o: ../../include/sys_defs.h
+@@ -1219,6 +1226,7 @@
+ mail_dict.o: dict_mysql.h
+ mail_dict.o: dict_pgsql.h
+ mail_dict.o: dict_proxy.h
++mail_dict.o: dict_sqlite.h
+ mail_dict.o: mail_dict.c
+ mail_dict.o: mail_dict.h
+ mail_error.o: ../../include/name_mask.h
+diff -durN postfix-2.6-20080216/src/global/dict_sqlite.c
postfix-2.6-20080216_sqlite/src/global/dict_sqlite.c
+--- postfix-2.6-20080216/src/global/dict_sqlite.c Thu Jan 1 00:00:00
1970
++++ postfix-2.6-20080216_sqlite/src/global/dict_sqlite.c Tue Feb 19
13:43:01 2008
+@@ -0,0 +1,278 @@
++/*++
++/* NAME
++/* dict_sqlite 3
++/* SUMMARY
++/* dictionary manager interface to SQLite3 databases
++/* SYNOPSIS
++/* #include <dict_sqlite.h>
++/*
++/* DICT *dict_sqlite_open(name, open_flags, dict_flags)
++/* const char *name;
++/* int open_flags;
++/* int dict_flags;
++/* DESCRIPTION
++/* dict_sqlite_open() creates a dictionary of type 'sqlite'. This
++/* dictionary is an interface for the postfix key->value mappings
++/* to SQLite. The result is a pointer to the installed dictionary,
++/* or a null pointer in case of problems.
++/* .PP
++/* Arguments:
++/* .IP name
++/* Either the path to the SQLite configuration file (if it starts
++/* with '/' or '.'), or the prefix which will be used to obtain
++/* main.cf configuration parameters for this search.
++/*
++/* In the first case, the configuration parameters below are
++/* specified in the file as \fIname\fR=\fBvalue\fR pairs.
++/*
++/* In the second case, the configuration parameters are
++/* prefixed with the value of \fIname\fR and an underscore,
++/* and they are specified in main.cf. For example, if this
++/* value is \fIsqlitecon\fR, the parameters would look like
++/* \fIsqlitecon_user\fR, \fIsqlitecon_table\fR, and so on.
++/*
++/* .IP open_flags
++/* Must be O_RDONLY.
++/* .IP dict_flags
++/* See dict_open(3).
++/* .PP
++/* Configuration parameters:
++/*
++/* The parameters encodes a number of pieces of information:
++/* dbpath, query, result_format and expansion_limit:
++/* .IP \fIdbpath\fR
++/* Path to SQLite database
++/* .IP \fIquery\fR
++/* Query template, before the query is actually issued, variable
++/* substitutions are performed. See sqlite_table(5) for details.
++/* .IP \fIresult_format\fR
++/* The format used to expand results from queries. Substitutions
++/* are performed as described in sqlite_table(5). Defaults to returning
++/* the lookup result unchanged.
++/* .IP expansion_limit
++/* Limit (if any) on the total number of lookup result values. Lookups
which
++/* exceed the limit fail with dict_errno=DICT_ERR_RETRY. Note that each
++/* non-empty (and non-NULL) column of a multi-column result row counts as
++/* one result.
++/*
++/* SEE ALSO
++/* dict(3) generic dictionary manager
++/* AUTHOR(S)
++/* Axel Steiner
++/* ast AT treibsand.com
++/*--*/
++
++/* System library. */
++#include "sys_defs.h"
++
++#ifdef HAS_SQLITE
++#include <sqlite3.h>
++
++#if !defined(SQLITE_VERSION_NUMBER) || (SQLITE_VERSION_NUMBER < 3005004)
++#error "Your SQLite version is too old"
++#endif
++
++/* Utility library. */
++
++#include "msg.h"
++#include "dict.h"
++#include "vstring.h"
++#include "stringops.h"
++#include "mymalloc.h"
++
++/* Global library. */
++
++#include "cfg_parser.h"
++#include "db_common.h"
++
++/* Application-specific. */
++
++#include "dict_sqlite.h"
++
++typedef struct {
++ DICT dict;
++ CFG_PARSER *parser;
++ sqlite3 *db;
++ char *dbpath;
++ char *query;
++ char *result_format;
++ int expansion_limit;
++ void *ctx;
++} DICT_SQLITE;
++
++typedef sqlite3_stmt *SQL;
++
++/* internal function declarations */
++
++static const char *dict_sqlite_lookup(DICT *, const char *);
++DICT *dict_sqlite_open(const char *, int, int);
++static void dict_sqlite_close(DICT *);
++static void sqlite_parse_config(DICT_SQLITE *, const char *);
++
++/* dict_sqlite_quote - escape SQL metacharacters in input string */
++
++static void dict_sqlite_quote(DICT *dict, const char *name, VSTRING
*result) {
++ DICT_SQLITE *dict_sqlite = (DICT_SQLITE *) dict;
++ int len = strlen(name);
++ int buflen = 2*len + 1;
++ char *q;
++
++ if (buflen < len)
++ msg_panic("dict_sqlite_quote: integer overflow in 2*%d+1",
len);
++
++ VSTRING_SPACE(result, buflen);
++ q = sqlite3_mprintf("%q",name);
++ vstring_strncat(result,q, strlen(q));
++ sqlite3_free(q);
++ VSTRING_SKIP(result);
++}
++
++
++/* dict_sqlite_close - close the database */
++
++static void dict_sqlite_close(DICT *dict) {
++ const char *myname = "dict_sqlite_close";
++ DICT_SQLITE *dict_sqlite = (DICT_SQLITE *) dict;
++
++ if (msg_verbose)
++ msg_info("%s: dict_sqlite_close", myname);
++ if (sqlite3_close(dict_sqlite->db) != SQLITE_OK)
++ msg_fatal("%s: DB close failed", myname);
++ cfg_parser_free(dict_sqlite->parser);
++ myfree(dict_sqlite->dbpath);
++ myfree(dict_sqlite->query);
++ myfree(dict_sqlite->result_format);
++ if (dict_sqlite->ctx)
++ db_common_free_ctx(dict_sqlite->ctx);
++ if (dict->fold_buf)
++ vstring_free(dict->fold_buf);
++ dict_free(dict);
++}
++
++
++/* dict_sqlite_lookup - find database entry */
++
++static const char *dict_sqlite_lookup(DICT *dict, const char *name) {
++ const char *myname = "dict_sqlite_lookup";
++ DICT_SQLITE *dict_sqlite = (DICT_SQLITE *) dict;
++ SQL sql;
++ const char *zErrMsg;
++ static VSTRING *query;
++ static VSTRING *result;
++ const char *r;
++ int expansion = 0;
++
++ /*
++ * Optionally fold the key.
++ */
++ if (dict->flags & DICT_FLAG_FOLD_FIX) {
++ if (dict->fold_buf == 0)
++ dict->fold_buf = vstring_alloc(10);
++ vstring_strcpy(dict->fold_buf, name);
++ name = lowercase(vstring_str(dict->fold_buf));
++ }
++
++ if (db_common_check_domain(dict_sqlite->ctx, name) == 0) {
++ if (msg_verbose)
++ msg_info("%s: Skipping lookup of '%s'", myname, name);
++ return (0);
++ }
++
++#define INIT_VSTR(buf, len) do { \
++ if (buf == 0) \
++ buf = vstring_alloc(len); \
++ VSTRING_RESET(buf); \
++ VSTRING_TERMINATE(buf); \
++ } while (0)
++
++ INIT_VSTR(query, 10);
++
++ if (!db_common_expand(dict_sqlite->ctx, dict_sqlite->query,
++ name, 0, query, dict_sqlite_quote))
++ return (0);
++
++ if (msg_verbose)
++ msg_info("%s: %s: Searching with query %s", myname,
++ dict_sqlite->parser->name,
vstring_str(query));
++
++
if(sqlite3_prepare_v2(dict_sqlite->db,vstring_str(query),-1,&sql,&zErrMsg)!=SQLITE_OK)
{
++ msg_fatal("%s: sql prepare
%s\n",myname,sqlite3_errmsg(dict_sqlite->db));
++ }
++
++ INIT_VSTR(result, 10);
++ while (sqlite3_step(sql) == SQLITE_ROW ) {
++ if (db_common_expand(dict_sqlite->ctx,
dict_sqlite->result_format,
++ sqlite3_column_text(sql, 0), name,
result, 0)
++ && dict_sqlite->expansion_limit > 0
++ && ++expansion > dict_sqlite->expansion_limit) {
++ msg_warn("%s: %s: Expansion limit exceeded for key:
'%s'",
++ myname, dict_sqlite->parser->name, name);
++ dict_errno = DICT_ERR_RETRY;
++ break;
++ }
++ }
++
++ if(sqlite3_finalize(sql)){
++ msg_fatal("%s: sql finalize for %s;
%s\n",myname,vstring_str(query),sqlite3_errmsg(dict_sqlite->db));
++ return(0);
++ }
++
++
++ r = vstring_str(result);
++ return ((dict_errno == 0 && *r) ? r : 0);
++}
++
++/* sqlite_parse_config - parse sqlite configuration file */
++
++static void sqlite_parse_config(DICT_SQLITE *dict_sqlite, const char
*sqlitecf) {
++ CFG_PARSER *p;
++ VSTRING *buf;
++
++ p = dict_sqlite->parser = cfg_parser_alloc(sqlitecf);
++ dict_sqlite->dbpath = cfg_get_str(p, "dbpath", "", 1, 0);
++ dict_sqlite->result_format = cfg_get_str(p, "result_format", "%s", 1,
0);
++
++ if ((dict_sqlite->query = cfg_get_str(p, "query", NULL, 0, 0)) == 0) {
++ buf = vstring_alloc(64);
++ db_common_sql_build_query(buf, p);
++ dict_sqlite->query = vstring_export(buf);
++ }
++ dict_sqlite->expansion_limit = cfg_get_int(p,"expansion_limit", 0, 0,
0);
++ dict_sqlite->ctx = 0;
++
++ (void) db_common_parse(&dict_sqlite->dict, &dict_sqlite->ctx,
dict_sqlite->query, 1);
++ (void) db_common_parse(0, &dict_sqlite->ctx,
dict_sqlite->result_format, 0);
++
++ db_common_parse_domain(p, dict_sqlite->ctx);
++
++ if (dict_sqlite->dict.flags & DICT_FLAG_FOLD_FIX)
++ dict_sqlite->dict.fold_buf = vstring_alloc(10);
++
++}
++
++/* dict_sqlite_open - open sqlite database */
++
++DICT *dict_sqlite_open(const char *name, int open_flags, int dict_flags) {
++ DICT_SQLITE *dict_sqlite;
++
++ /*
++ * Sanity checks.
++ */
++ if (open_flags != O_RDONLY)
++ msg_fatal("%s:%s map requires O_RDONLY access mode",
DICT_TYPE_SQLITE, name);
++
++ dict_sqlite = (DICT_SQLITE *) dict_alloc(DICT_TYPE_SQLITE, name,
sizeof(DICT_SQLITE));
++ dict_sqlite->dict.lookup = dict_sqlite_lookup;
++ dict_sqlite->dict.close = dict_sqlite_close;
++ dict_sqlite->dict.flags = dict_flags;
++ dict_sqlite->dict.flags |= DICT_FLAG_FIXED;
++ sqlite_parse_config(dict_sqlite, name);
++
++ if (sqlite3_open(dict_sqlite->dbpath, &dict_sqlite->db)) {
++ msg_fatal("Can't open database: %s\n",
sqlite3_errmsg(dict_sqlite->db));
++ sqlite3_close(dict_sqlite->db);
++ }
++
++ return (DICT_DEBUG (&dict_sqlite->dict));
++}
++#endif
+diff -durN postfix-2.6-20080216/src/global/dict_sqlite.h
postfix-2.6-20080216_sqlite/src/global/dict_sqlite.h
+--- postfix-2.6-20080216/src/global/dict_sqlite.h Thu Jan 1 00:00:00
1970
++++ postfix-2.6-20080216_sqlite/src/global/dict_sqlite.h Tue Feb 19
10:42:23 2008
+@@ -0,0 +1,32 @@
++#ifndef _DICT_SQLITE_H_INCLUDED_
++#define _DICT_SQLITE_H_INCLUDED_
++
++/*++
++/* NAME
++/* dict_sqlite 3h
++/* SUMMARY
++/* dictionary manager interface to sqlite databases
++/* SYNOPSIS
++/* #include <dict_sqlite.h>
++/* DESCRIPTION
++/* .nf
++
++ /*
++ * Utility library.
++ */
++#include <dict.h>
++
++ /*
++ * External interface.
++ */
++#define DICT_TYPE_SQLITE "sqlite"
++
++extern DICT *dict_sqlite_open(const char *, int, int);
++
++
++/* AUTHOR(S)
++/* Axel Steiner
++/* ast AT treibsand.com
++/*--*/
++
++#endif
+diff -durN postfix-2.6-20080216/src/global/mail_dict.c
postfix-2.6-20080216_sqlite/src/global/mail_dict.c
+--- postfix-2.6-20080216/src/global/mail_dict.c Tue Jan 8 21:07:47
2008
++++ postfix-2.6-20080216_sqlite/src/global/mail_dict.c Tue Feb 19 10:42:23
2008
+@@ -36,6 +36,7 @@
+ #include <dict_ldap.h>
+ #include <dict_mysql.h>
+ #include <dict_pgsql.h>
++#include <dict_sqlite.h>
+ #include <mail_dict.h>
+
+ typedef struct {
+@@ -53,6 +54,9 @@
+ #endif
+ #ifdef HAS_PGSQL
+ DICT_TYPE_PGSQL, dict_pgsql_open,
++#endif
++#ifdef HAS_SQLITE
++ DICT_TYPE_SQLITE, dict_sqlite_open,
+ #endif
+ 0,
+ };
diff --git a/python-pypi/moinmoin/DETAILS b/python-pypi/moinmoin/DETAILS
index d44cf85..d7421dd 100755
--- a/python-pypi/moinmoin/DETAILS
+++ b/python-pypi/moinmoin/DETAILS
@@ -1,9 +1,9 @@
SPELL=moinmoin
- VERSION=1.7.2
+ VERSION=1.8.0
SECURITY_PATCH=1
SOURCE=${SPELL%%moin}-$VERSION.tar.gz
SOURCE_URL[0]=http://static.moinmo.in/files/$SOURCE
-
SOURCE_HASH=sha512:a29a7fb898c8866bbf4cd1343ae6595fb57c739b4406b77609ed883cbea9a4e495b574f517eb62bdbbfbef6fe7532fa0969509a5a89bbae41d151cd6c2f366ec
+
SOURCE_HASH=sha512:e40bf2d4b43eb40b00099414e29ed58ab22ab9acff283f749dbdc2424c61d88b1444e7ed901d5471c7f491d596d964ddd61d55e089d1167686263eb9c5ecddc8
SOURCE_DIRECTORY=$BUILD_DIRECTORY/${SPELL%%moin}-$VERSION
LICENSE[0]=GPL
WEB_SITE=http://moinmo.in/
diff --git a/python-pypi/moinmoin/HISTORY b/python-pypi/moinmoin/HISTORY
index 46103d5..b9147b1 100644
--- a/python-pypi/moinmoin/HISTORY
+++ b/python-pypi/moinmoin/HISTORY
@@ -1,3 +1,6 @@
+2008-12-07 Elisamuel Resto <ryuji AT sourcemage.org>
+ * DETAILS: updated to 1.8.0
+
2008-09-23 David Kowis <dkowis AT shlrm.org>
* DEPENDS: suggest_depends on mod_python and mod_wsgi were very broke

diff --git a/ruby-raa/passenger/DETAILS b/ruby-raa/passenger/DETAILS
index 8b39008..9a9489b 100755
--- a/ruby-raa/passenger/DETAILS
+++ b/ruby-raa/passenger/DETAILS
@@ -1,10 +1,11 @@
SPELL=passenger
- VERSION=2.0.3
+ VERSION=2.0.5
+ RAAID=47928
SOURCE=$SPELL-$VERSION.tar.gz
SOURCE_DIRECTORY=$BUILD_DIRECTORY/$SPELL-$VERSION
- SOURCE_URL[0]=http://rubyforge.org/frs/download.php/38872/$SOURCE
+ SOURCE_URL[0]=http://rubyforge.org/frs/download.php/$RAAID/$SOURCE
WEB_SITE=http://www.modrails.com/
-
SOURCE_HASH=sha512:fa8b558d98d83e0bb6e6652497bd6ce4c5177ded00b53c9fd7ba00a26e047e16bd47296442dbba70b0df252f6d60cac360838eefb96de69c93252d8d8351d9bc
+
SOURCE_HASH=sha512:2c59e677be27ca8305f8f7ab3c71e607ad7ef30e9dc24f6255452bfb53c5666a1300be879df6459272958e46232165a054e348bff2dc9199a3892b63845d905f
LICENSE[0]=GPL
ENTERED=20080628
KEYWORDS="ruby rails apache"
diff --git a/utils/rsyslog/DETAILS b/utils/rsyslog/DETAILS
index ac7367c..cc5fe95 100755
--- a/utils/rsyslog/DETAILS
+++ b/utils/rsyslog/DETAILS
@@ -1,14 +1,19 @@
SPELL=rsyslog
+
if [[ "${RSYSLOG_BRANCH}" == "devel" ]]; then
- VERSION=4.1.1
-
SOURCE_HASH=sha512:dea6638336bae2eda3500d292dfc41880a6db0c9f38f6587009d5c6c8334da1ed12aa0326fc3cc14d65f7aa4e3b66b5dd7fcdb812509f4d02225094c94a6d490
+ VERSION=4.1.2
+ SECURITY_PATCH=1
+
SOURCE_HASH=sha512:429225db3b42bd3f7b399aa306a8b134aa08823c3a98a0d2f6be81f391267aaf3e5ce35ee6b486389605e4d524deb4cc04319239c780d7cc91108d818b391456
elif [[ "${RSYSLOG_BRANCH}" == "beta" ]]; then
- VERSION=3.21.7
-
SOURCE_HASH=sha512:c61fbc3d88cd523da65f0b5482866662e7aba0cc521edad0c05f4902479560e863402dfa943e83795344da4814a4f59fe37d655d6ce18a77c5a61b80c2cc14e2
+ VERSION=3.21.9
+ SECURITY_PATCH=1
+
SOURCE_HASH=sha512:cea482c0997e51c9fd3f4b2191c93a9830530f05984edda5f63e6a2c237a0c448736469d7aa4491d6da9b1a1053f07bc276a3be99d264c5e89c5aed213843593
else
- VERSION=3.20.0
-
SOURCE_HASH=sha512:e691bdff27a75028b72059120ac7422863ed341be72eab898a809116009a1fd5344799f698c28c967a908aef46c773b79312d950040b73bb81eae87efe7a77d3
+ VERSION=3.20.1
+ SECURITY_PATCH=1
+
SOURCE_HASH=sha512:e30d89120a81761a30f752b067542fbd0553657bb5e1bee8c72d517bbe70b7f4f878241e6bd90511ca659bd18c2ad92ade8da59a3925f05ce938f4010eb2455b
fi
+
SOURCE=${SPELL}-${VERSION}.tar.gz
SOURCE_URL[0]=http://download.rsyslog.com/${SPELL}/${SOURCE}
SOURCE_DIRECTORY=${BUILD_DIRECTORY}/${SPELL}-${VERSION}
@@ -16,6 +21,7 @@ SOURCE_DIRECTORY=${BUILD_DIRECTORY}/${SPELL}-${VERSION}
LICENSE[0]=GPL
ENTERED=20080303
SHORT="An enhanced multi-threaded syslog daemon"
+
cat << EOF
Rsyslog is an enhanced multi-threaded syslogd. Among other features, it
offers support for on-demand disk buffering, reliable syslog over TCP,
writing
diff --git a/utils/rsyslog/HISTORY b/utils/rsyslog/HISTORY
index aebab01..c09cd54 100644
--- a/utils/rsyslog/HISTORY
+++ b/utils/rsyslog/HISTORY
@@ -1,3 +1,7 @@
+2008-12-08 Elisamuel Resto <ryuji AT sourcemage.org>
+ * DETAILS: updated devel to 4.1.2, beta to 3.21.9 and stable to 3.20.1
+ SECURITY_PATCH=1; as described in
http://www.rsyslog.com/Article322.phtml
+
2008-11-28 Elisamuel Resto <ryuji AT sourcemage.org>
* DETAILS: updated beta branch to 3.21.7; devel branch to 4.1.1
* init.d/rsyslog(.conf): updated for setting compat layer depending



  • [SM-Commit] GIT changes to master grimoire by Elisamuel Resto (fbe2cd83b3acab428f5e6f6ae0d4a445a04925f5), Elisamuel Resto, 12/08/2008

Archive powered by MHonArc 2.6.24.

Top of Page