]> git.madduck.net Git - etc/mailfilter.git/commitdiff

madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://git.madduck.net/madduck/pub/<projectpath> — see each project's metadata for the exact URL.

All patches and comments are welcome. Please squash your changes to logical commits before using git-format-patch and git-send-email to patches@git.madduck.net. If you'd read over the Git project's submission guidelines and adhered to them, I'd be especially grateful.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://git.madduck.net/madduck/"]
  insteadOf = madduck:

fix sql escaping and sqlite error reporting
authormartin f. krafft <madduck@madduck.net>
Wed, 20 Feb 2008 11:34:03 +0000 (12:34 +0100)
committermartin f. krafft <madduck@madduck.net>
Wed, 20 Feb 2008 11:51:08 +0000 (12:51 +0100)
procmail/msgid-index
procmail/record-delayed-mail
procmail/sql-escape

index 102dacc0f9fb7f1b222ca8c58f9861f6c3d895f3..caccf830e28f34e44c1788b40339d06485e9c369 100644 (file)
@@ -14,10 +14,9 @@ DATA="$FROM,$NL$ORIGINAL_TO,$NL$SUBJECT,$NL$MSGID"
 INCLUDERC=$PMDIR/sql-escape
 
 QUERY="insert into messages (sender, recipient, subject, msgid, filename, dest) values (
-  $DATA, '\\'$THISLOGFILE_REL\\'', '\\'\$DESTFILE\\'');
-       select * from messages where filename = '\\'$THISLOGFILE_REL\\''"
-TRAP="$TRAP; case \"$($DO_QUERY '$QUERY')\" in '') 
-      echo 'msgid-index: failed to insert reference into database';; esac"
+  $DATA, '$THISLOGFILE_REL', '\$DESTFILE');"
+TRAP="$TRAP; OUT=\"$(echo \"$QUERY\" | $DO_QUERY 2>&1)\";
+      [ -n \"\$OUT\" ] && echo \"msgid-index: failed to insert reference into database: \$OUT\""
 
 QUERY
 DATA
index 72ff6b88d3faa064e4f394b9682fddab0e7c9439..c8256e1ed0d6ce82d33e4137e77e0caf4c02af99 100644 (file)
@@ -8,10 +8,9 @@ DO_QUERY="$SQLITE $DELAYED_QUEUE_DB"
 DATA="$MSGID"
 INCLUDERC=$PMDIR/sql-escape
 
-QUERY="insert into messages values ($DATA, '\\'\$DESTFILE\\'', $RELEASE_TS);
-       select * from messages where msgid = $DATA"
-TRAP="$TRAP; case \"$($DO_QUERY '$QUERY')\" in '') 
-      echo 'delay:       failed to insert reference into database';; esac"
+QUERY="insert into messages values ($DATA, '\$DESTFILE', $RELEASE_TS);"
+TRAP="$TRAP; OUT=\"$(echo \"$QUERY\" | $DO_QUERY 2>&1)\";
+      [ -n \"\$OUT\" ] && echo \"delay:       failed register delayed mail in database: \$OUT\""
 
 QUERY
 DATA
index 08d0903f33b50eb69d57ed651b380fcef3894522..02c090a8d36398910c32402c3520af0a154a11e7 100644 (file)
@@ -1,13 +1,13 @@
-SQ="'\\''"
-SQE="'\\\''"
-
 :0
 * DATA ?? .
 { 
+  # 1. replace ' with ''
+  # 2. add quotes to each line
+  # 3. swap comma outside
   DATA="`echo \"$DATA\" \
-    | sed -re 's,'\'','$SQE$SQE',g;' \
-          -e  's/^.*$/'\$SQE'&'\$SQE'/' \
-          -e  's/,'$SQE'$/'\$SQE',/'`"
+    | sed -re \"s,','',g\" \
+           -e \"s/^.*$/'&'/\" \
+           -e \"s/,'$/',/\"`"
 }
 
 :0 E