emesinae:emesinae.git
7 years agotest: Add message with + in msgid to corpus. master
Ian Campbell [Fri, 24 Oct 2014 10:23:51 +0000 (11:23 +0100)]
test: Add message with + in msgid to corpus.

I initially thought this was a URL unescaping bug in emesinae, but actually the
browser was encoding + as %20 (space) not %2B. Still, useful to have around.

7 years agomessage.pl: Correct type: fourohfoud()
Ian Campbell [Fri, 24 Oct 2014 10:23:28 +0000 (11:23 +0100)]
message.pl: Correct type: fourohfoud()

7 years agoCGI: Simplify list join
Ian Campbell [Tue, 7 Oct 2014 11:09:28 +0000 (12:09 +0100)]
CGI: Simplify list join

7 years agoCGI: Explicitly request a scalar on RHS of =>
Ian Campbell [Tue, 7 Oct 2014 11:06:46 +0000 (12:06 +0100)]
CGI: Explicitly request a scalar on RHS of =>

param() can return a list in that context, e.g. if the named param appears
twice in the URL, which is not going to work as expected.

7 years agoUpdate test config to setup /etc/aliases
Ian Campbell [Tue, 7 Oct 2014 10:35:26 +0000 (11:35 +0100)]
Update test config to setup /etc/aliases

8 years agoxen-bugs: Configure database backups
Ian Campbell [Mon, 19 May 2014 10:45:42 +0000 (11:45 +0100)]
xen-bugs: Configure database backups

8 years agosqlite_backup.pl: Create backup of DB using locks to avoid problems with queuerunner.
Birin Sanchez [Mon, 19 May 2014 08:46:50 +0000 (09:46 +0100)]
sqlite_backup.pl: Create backup of DB using locks to avoid problems with queuerunner.

ijc: Added to Makefile

8 years agoxen-bugs: Add xen 4.4
Ian Campbell [Mon, 19 May 2014 10:39:55 +0000 (11:39 +0100)]
xen-bugs: Add xen 4.4

8 years agocontrol.pl: do not reply to the list if the message contained no valid commands
Ian Campbell [Fri, 4 Apr 2014 15:26:14 +0000 (16:26 +0100)]
control.pl: do not reply to the list if the message contained no valid commands

This suppresses a certain amount of SPAM.

8 years agotest: add a control message with no valid commands
Ian Campbell [Fri, 4 Apr 2014 15:20:02 +0000 (16:20 +0100)]
test: add a control message with no valid commands

Simulating a spam message from an unknown spammer.

8 years agoexamples: test: Set ControlReplyToList
Ian Campbell [Fri, 4 Apr 2014 15:18:46 +0000 (16:18 +0100)]
examples: test: Set ControlReplyToList

Since we set ControlReplyOverride this is safe, the headers can be observed but
the envelope is forced to the test address.

8 years agoTODO: A few spam related ideas
Ian Campbell [Fri, 28 Mar 2014 09:55:45 +0000 (09:55 +0000)]
TODO: A few spam related ideas

8 years agoCGI: Reduce to prominence of missing control messages in the bug log
Ian Campbell [Wed, 22 Jan 2014 13:12:27 +0000 (13:12 +0000)]
CGI: Reduce to prominence of missing control messages in the bug log

8 years agoHandy script to run something as the test user in the test environment.
Ian Campbell [Wed, 22 Jan 2014 12:38:43 +0000 (12:38 +0000)]
Handy script to run something as the test user in the test environment.

8 years agoActually prune messages from bugs
Ian Campbell [Wed, 22 Jan 2014 12:36:36 +0000 (12:36 +0000)]
Actually prune messages from bugs

We were recording the pruning in the database but not reflecting it when
displaying a bug.

Seen in bug #1 in the test suite and http://bugs.xenproject.org/xen/bug/36 in
real life. Add support to the test suite for validating the set of messages
which end up in a bug.

8 years agoTidy
Ian Campbell [Tue, 21 Jan 2014 15:22:01 +0000 (15:22 +0000)]
Tidy

8 years agocontrol.pl: Handle MIME encoded control messages
Ian Campbell [Tue, 21 Jan 2014 15:10:53 +0000 (15:10 +0000)]
control.pl: Handle MIME encoded control messages

Including test case based on real world occurance.

8 years agoRefactor code to create a MIME::Parser with our prefer settings
Ian Campbell [Tue, 21 Jan 2014 15:03:44 +0000 (15:03 +0000)]
Refactor code to create a MIME::Parser with our prefer settings

8 years agoRefactor some helpful utility functions into a new Emesinae::MIME package.
Ian Campbell [Tue, 21 Jan 2014 13:56:34 +0000 (13:56 +0000)]
Refactor some helpful utility functions into a new Emesinae::MIME package.

8 years agotest #16 & #18: Copy the list on control message
Ian Campbell [Tue, 21 Jan 2014 11:32:31 +0000 (11:32 +0000)]
test #16 & #18: Copy the list on control message

8 years agotest#7: Use correct Message-Id for In-Reply-To
Ian Campbell [Tue, 21 Jan 2014 11:24:25 +0000 (11:24 +0000)]
test#7: Use correct Message-Id for In-Reply-To

Otherwise this control message ends up in  the log for bug #4 which happened to
contain that id.

8 years agoAdd missing test #17
Ian Campbell [Tue, 21 Jan 2014 10:34:38 +0000 (10:34 +0000)]
Add missing test #17

8 years agoxen-bugs: Less spammy cronjob
Ian Campbell [Tue, 14 Jan 2014 11:02:10 +0000 (11:02 +0000)]
xen-bugs: Less spammy cronjob

8 years agocontrol: Strip trailing whitespace from commands
Ian Campbell [Tue, 5 Nov 2013 16:27:39 +0000 (16:27 +0000)]
control: Strip trailing whitespace from commands

Otherwise we try and interpret e.g. "! " as a message-id. (See
http://bugs.xenproject.org/xen/bug/17)

8 years agotest: Correct path to htaccess
Ian Campbell [Wed, 2 Oct 2013 09:31:50 +0000 (10:31 +0100)]
test: Correct path to htaccess

8 years agocontrol.pl: Support blacklisting of addresses.
Ian Campbell [Thu, 5 Sep 2013 09:12:14 +0000 (10:12 +0100)]
control.pl: Support blacklisting of addresses.

8 years agoTidy
Ian Campbell [Thu, 5 Sep 2013 08:13:27 +0000 (09:13 +0100)]
Tidy

8 years agoTODO: bugs.pl RSS feed
Ian Campbell [Wed, 3 Jul 2013 07:48:45 +0000 (08:48 +0100)]
TODO: bugs.pl RSS feed

8 years agoxen-bugs: alias for favicon.
Ian Campbell [Mon, 2 Sep 2013 14:07:12 +0000 (15:07 +0100)]
xen-bugs: alias for favicon.

8 years agocss: typo
Ian Campbell [Tue, 2 Jul 2013 16:45:23 +0000 (17:45 +0100)]
css: typo

8 years agomessage.pl: Don't elide control-reply messages in this context
Ian Campbell [Tue, 2 Jul 2013 16:28:14 +0000 (17:28 +0100)]
message.pl: Don't elide control-reply messages in this context

Also format the elided version a bit.

8 years agoImprove interface to format_html
Ian Campbell [Tue, 2 Jul 2013 16:05:21 +0000 (17:05 +0100)]
Improve interface to format_html

8 years agoWhen running perl -c include the current directory in order to pick up latest modules
Ian Campbell [Tue, 2 Jul 2013 16:02:05 +0000 (17:02 +0100)]
When running perl -c include the current directory in order to pick up latest modules

Instead of the currently installed ones, which causes problems when changing
the modules API.

8 years agotest: Fake up control replies.
Ian Campbell [Tue, 2 Jul 2013 15:52:25 +0000 (16:52 +0100)]
test: Fake up control replies.

8 years agotest: split multiple message ID test into own mail
Ian Campbell [Tue, 2 Jul 2013 15:36:39 +0000 (16:36 +0100)]
test: split multiple message ID test into own mail

8 years agotest: Insert mails which are CC the list into the test archive.
Ian Campbell [Tue, 2 Jul 2013 15:34:53 +0000 (16:34 +0100)]
test: Insert mails which are CC the list into the test archive.

8 years agobug.pl: Handle mails with no date field better
Ian Campbell [Tue, 2 Jul 2013 15:31:46 +0000 (16:31 +0100)]
bug.pl: Handle mails with no date field better

8 years agotest: Only use case-sensitive From address in that test
Ian Campbell [Tue, 2 Jul 2013 15:26:34 +0000 (16:26 +0100)]
test: Only use case-sensitive From address in that test

8 years agoFix format_html now that it is in a function
Ian Campbell [Tue, 2 Jul 2013 15:24:23 +0000 (16:24 +0100)]
Fix format_html now that it is in a function

8 years agoSwitch to Perl DBI selectrow_foo interface
Ian Campbell [Tue, 2 Jul 2013 15:07:47 +0000 (16:07 +0100)]
Switch to Perl DBI selectrow_foo interface

Rather than open coding it.

Also remove all statement->finish calls, they are almost never required.

8 years agoTidy
Ian Campbell [Tue, 2 Jul 2013 14:09:56 +0000 (15:09 +0100)]
Tidy

8 years agoRun Makefile.perl whenever any Perl module changes
Ian Campbell [Tue, 2 Jul 2013 13:57:17 +0000 (14:57 +0100)]
Run Makefile.perl whenever any Perl module changes

Hopefully this will solve the problem with stale modules not getting
overwritten.

8 years agoDon't display 01/01/1970 date for non-present messages.
Ian Campbell [Tue, 2 Jul 2013 13:55:08 +0000 (14:55 +0100)]
Don't display 01/01/1970 date for non-present messages.

8 years agoPush handling of non-present messages to callers.
Ian Campbell [Tue, 2 Jul 2013 13:45:30 +0000 (14:45 +0100)]
Push handling of non-present messages to callers.

Allows us to do away with silly eval{} blocks.

8 years agoqueuerunner.pl: Only print if doing something (quieter cron mails)
Ian Campbell [Tue, 2 Jul 2013 13:06:39 +0000 (14:06 +0100)]
queuerunner.pl: Only print if doing something (quieter cron mails)

8 years agoAdd sort order to tags.
Ian Campbell [Tue, 2 Jul 2013 12:47:13 +0000 (13:47 +0100)]
Add sort order to tags.

An existing DB can be upgraded with:
8<-------------------------------------------------
BEGIN TRANSACTION;
ALTER TABLE tags RENAME TO tmp_tags;
create table tags (
       tag_id integer not null primary key autoincrement,
       namespace varchar, -- "component", "affects" etc
       name varchar,
       sort_order integer default 0,
       -- the following refer to the default visibility and setting in the search page.
       active bool default true, -- searched for by default
       advanced bool default false -- only shown in advanced search pane
);

INSERT OR IGNORE INTO tags(tag_id, namespace, name, active, advanced)
               SELECT tag_id, namespace, name, active, advanced FROM tmp_tags;
DROP TABLE tmp_tags;
COMMIT;
8<-------------------------------------------------

8 years agoxen-devel: Fix type in config
Ian Campbell [Tue, 2 Jul 2013 10:33:54 +0000 (11:33 +0100)]
xen-devel: Fix type in config

8 years agoMerge branch 'master' of gitorious.org:emesinae/emesinae
Ian Campbell [Tue, 2 Jul 2013 10:28:47 +0000 (11:28 +0100)]
Merge branch 'master' of gitorious.org:emesinae/emesinae

8 years agomessage.pl: Implement.
Ian Campbell [Tue, 2 Jul 2013 10:19:00 +0000 (11:19 +0100)]
message.pl: Implement.

Lookup by message, message-id header, supports HTML formatted or raw output as
well as retrieving specific MIME parts.

8 years agoCGI/bug.pl: Tidy
Ian Campbell [Tue, 2 Jul 2013 10:13:07 +0000 (11:13 +0100)]
CGI/bug.pl: Tidy

8 years agoEmesinae::Message: Die in lookup_id if id doesn't exist.
Ian Campbell [Tue, 2 Jul 2013 10:03:46 +0000 (11:03 +0100)]
Emesinae::Message: Die in lookup_id if id doesn't exist.

8 years agobug.pl: simplify some code
Ian Campbell [Tue, 2 Jul 2013 10:03:01 +0000 (11:03 +0100)]
bug.pl: simplify some code

8 years agoxen: Add affects tag for release 4.3
Ian Campbell [Mon, 1 Jul 2013 16:20:15 +0000 (17:20 +0100)]
xen: Add affects tag for release 4.3

8 years agobug.pl: Refactor to handle mbox vs normal output more obviously.
Ian Campbell [Mon, 1 Jul 2013 13:28:30 +0000 (14:28 +0100)]
bug.pl: Refactor to handle mbox vs normal output more obviously.

8 years agoCGI: Refactor code to format a mail into its own module.
Ian Campbell [Mon, 1 Jul 2013 12:34:32 +0000 (13:34 +0100)]
CGI: Refactor code to format a mail into its own module.

8 years agoCGI: Move common.pl to a proper module Emesinae::CGI
Ian Campbell [Mon, 1 Jul 2013 12:17:24 +0000 (13:17 +0100)]
CGI: Move common.pl to a proper module Emesinae::CGI

8 years agoCGI: use path based parameters for message links.
Ian Campbell [Mon, 1 Jul 2013 10:39:38 +0000 (11:39 +0100)]
CGI: use path based parameters for message links.

8 years agomake tidy
Ian Campbell [Mon, 1 Jul 2013 10:37:04 +0000 (11:37 +0100)]
make tidy

8 years agomessage.pl: Placeholder script (404 for now)
Ian Campbell [Mon, 1 Jul 2013 10:26:13 +0000 (11:26 +0100)]
message.pl: Placeholder script (404 for now)

8 years agobug.pl: retrieve a bug as an mbox
Ian Campbell [Mon, 1 Jul 2013 10:01:05 +0000 (11:01 +0100)]
bug.pl: retrieve a bug as an mbox

8 years agoreceive.pl: Preserve envelope From as first line
Ian Campbell [Mon, 1 Jul 2013 09:42:07 +0000 (10:42 +0100)]
receive.pl: Preserve envelope From as first line

Things like mbox generation prefer this.

THis bug is propagated to the /var/raw/NN.hdr files. The sed rune to fix is
'1h; 2{p;g;p}; 3,$p'.

    cd /var/raw/
    sudo find -name \*.hdr -print -exec sed -n -i -e '1h; 2{p;g;p}; 3,$p' {} \;

8 years agoTODO: update
Ian Campbell [Mon, 1 Jul 2013 09:11:27 +0000 (10:11 +0100)]
TODO: update

8 years agoTODO: control blacklisting functionality.
Ian Campbell [Mon, 17 Jun 2013 15:56:13 +0000 (16:56 +0100)]
TODO: control blacklisting functionality.

8 years agoSupport tagging bugs, use to implement affected version tracking
Ian Campbell [Thu, 6 Jun 2013 15:09:59 +0000 (16:09 +0100)]
Support tagging bugs, use to implement affected version tracking

An existing DB can be upgraded with:
8<-------------------------------------------------
create table tags (
       tag_id integer not null primary key autoincrement,
       namespace varchar, -- "component", "affects" etc
       name varchar,
       -- the following refer to the default visibility and setting in the search page.
       active bool default true, -- searched for by default
       advanced bool default false -- only shown in advanced search pane
);

create table bug2tag (
       bug_id integer not null references bugs ( bug_id ),
       tag_id integer not null references tags ( tag_id ),
       primary key ( bug_id, tag_id )
);
8<-------------------------------------------------

Followed by populating the tags table with a suitable set of names in the
"affects" namespace.

8 years agoAdd a "make check" target.
Ian Campbell [Thu, 6 Jun 2013 14:53:56 +0000 (15:53 +0100)]
Add a "make check" target.

Runs "perl -c" to check for syntax errors.

8 years agocss: Add some trailing semi-colons
Ian Campbell [Thu, 6 Jun 2013 14:53:29 +0000 (15:53 +0100)]
css: Add some trailing semi-colons

8 years agoTODO: Update
Ian Campbell [Thu, 6 Jun 2013 07:50:41 +0000 (08:50 +0100)]
TODO: Update

8 years agodb: Use a compound key for the refs table, ref_id is unneeded
Ian Campbell [Thu, 30 May 2013 11:18:42 +0000 (12:18 +0100)]
db: Use a compound key for the refs table, ref_id is unneeded

An existing DB can be upgraded with:
8<-------------------------------------------------
BEGIN TRANSACTION;
ALTER TABLE refs RENAME TO tmp_refs;
create table refs (
       parent_id integer not null references messages ( message_id ),
       child_id integer not null references messages ( message_id ),
       primary key ( parent_id, child_id )
);
INSERT OR IGNORE INTO refs(parent_id, child_id)
               SELECT parent_id, child_id FROM tmp_refs;
DROP TABLE tmp_refs;
COMMIT;
8<-------------------------------------------------

8 years agoxen-devel: Prepare for public alpha
Ian Campbell [Thu, 30 May 2013 11:00:12 +0000 (12:00 +0100)]
xen-devel: Prepare for public alpha

Remove password protection, send control replies to the list.

8 years agobugs.pl: Add facility to link to a page with information on the control interface
Ian Campbell [Thu, 30 May 2013 10:58:42 +0000 (11:58 +0100)]
bugs.pl: Add facility to link to a page with information on the control interface

8 years agocontrol.pl: Remove debugging prints
Ian Campbell [Thu, 30 May 2013 10:31:49 +0000 (11:31 +0100)]
control.pl: Remove debugging prints

8 years agocontrol.pl: Implement support for bugid == it
Ian Campbell [Thu, 30 May 2013 10:27:08 +0000 (11:27 +0100)]
control.pl: Implement support for bugid == it

This is an alias for the most recently referrenced bug

8 years agoUpdate example configurations for new Perl in Wheezy
Ian Campbell [Thu, 30 May 2013 10:12:03 +0000 (11:12 +0100)]
Update example configurations for new Perl in Wheezy

8 years agocontrol: Allow ControlAllow to come from a file
Ian Campbell [Wed, 29 May 2013 11:57:03 +0000 (12:57 +0100)]
control: Allow ControlAllow to come from a file

8 years agoDB: restructuring of the fields
Ian Campbell [Wed, 29 May 2013 11:13:12 +0000 (12:13 +0100)]
DB: restructuring of the fields

* Primary key for each table FOO is now consistently FOO_id rather than just ID.
* Fields which are taken from mail headers have a _hdr suffix.
* Fields which are taken raw from user input have a _raw suffix.

An existing DB can be upgraded with:
8<-------------------------------------------------
BEGIN TRANSACTION;
ALTER TABLE messages RENAME TO tmp_messages;
create table messages (
       message_id integer primary key autoincrement,
       msgid_hdr_raw varchar not null unique,
       present bool default false, -- following fields valid iff true

       inserttime integer default 0,

       -- XXX enum "normal", "control", "control-reply"
       msgtype char(16) default "normal", -- control / control-reply

       -- Selected header values
       msgdate_hdr_raw varchar,
       msgfrom_hdr_raw varchar,
       msgto_hdr_raw varchar,
       msgcc_hdr_raw varchar,
       subject_hdr_raw varchar
);
INSERT INTO messages(message_id,msgid_hdr_raw,present,inserttime,msgtype,msgdate_hdr_raw,msgfrom_hdr_raw,msgto_hdr_raw,msgcc_hdr_raw,subject_hdr_raw)
     SELECT id, messageid, present, inserttime, msgtype, msgdate, msgfrom, msgto, msgcc, subject
       FROM tmp_messages;
DROP TABLE tmp_messages;

ALTER TABLE refs RENAME TO tmp_refs;
create table refs (
       ref_id integer primary key autoincrement,
       parent_id integer references messages ( message_id ),
       child_id integer references messages ( message_id )
);
INSERT INTO refs(ref_id, parent_id, child_id)
     SELECT id,parentid,childid
       FROM tmp_refs;
DROP TABLE tmp_refs;

ALTER TABLE bugs RENAME TO tmp_bugs;
create table bugs (
       bug_id integer primary key autoincrement,
       title_raw varchar,
       creationdate integer,
       lastchangedate integer,
       owner_raw varchar,
       severity varchar,
       open bool default true
       -- xxx other fields
       -- tags?  component?
       -- affected branches?
);
INSERT INTO bugs(bug_id,title_raw,creationdate,lastchangedate,owner_raw,severity,open)
     SELECT id,title,creationdate, lastchangedate,owner,severity,open
       FROM tmp_bugs;
DROP TABLE tmp_bugs;

ALTER TABLE bug2message RENAME TO tmp_bug2message;
create table bug2message (
       bug2message_id integer primary key autoincrement,
       include bool default true, -- if true then graft, if false then exclude
       bug_id integer not null references bugs ( bug_id ),
       message_id integer not null references messages ( message_id )
);
INSERT INTO bug2message(bug2message_id,include,bug_id,message_id)
     SELECT id,include,bugid,messageid
       FROM tmp_bug2message;
DROP TABLE tmp_bug2message;

COMMIT;

8<-------------------------------------------------

8 years agoBug.pm: Add accessor methods for all fields
Ian Campbell [Wed, 29 May 2013 10:18:39 +0000 (11:18 +0100)]
Bug.pm: Add accessor methods for all fields

This consolidates all knowledge about db column names within the Bug module.

Also add a sanity check on the specified severity (and a test to match)

8 years agoTODO: Add some planned DB cleanups
Ian Campbell [Tue, 28 May 2013 11:24:48 +0000 (12:24 +0100)]
TODO: Add some planned DB cleanups

8 years agobugs.xenproject.org: Redirect / to /xen/
Ian Campbell [Fri, 24 May 2013 13:38:54 +0000 (14:38 +0100)]
bugs.xenproject.org: Redirect / to /xen/

8 years agoRun test bug installation on a separate vhost.
Ian Campbell [Tue, 28 May 2013 11:30:37 +0000 (12:30 +0100)]
Run test bug installation on a separate vhost.

8 years agoTODO list gardening
Ian Campbell [Fri, 24 May 2013 12:52:23 +0000 (13:52 +0100)]
TODO list gardening

8 years agoInstall with appropriate permissions
Ian Campbell [Fri, 24 May 2013 12:46:32 +0000 (13:46 +0100)]
Install with appropriate permissions

8 years agoMove static content out of document root
Ian Campbell [Fri, 24 May 2013 12:24:01 +0000 (13:24 +0100)]
Move static content out of document root

This will allow multiple trackers to share a host more easily.

8 years agoCGI: Include bugid as a path element instead of a CGI argument.
Ian Campbell [Fri, 24 May 2013 12:11:04 +0000 (13:11 +0100)]
CGI: Include bugid as a path element instead of a CGI argument.

This means that a bug URL changes from
http://.../test/bug.pl?id=N
to
http://.../test/bug/N

This is apparently much friendlier to search engines.

While there generate a 404 for a missing bug.

8 years agoRename tests now we have >10 of them
Ian Campbell [Fri, 24 May 2013 11:27:41 +0000 (12:27 +0100)]
Rename tests now we have >10 of them

8 years agoxen-devel README: Move DB to $prefix/var/run
Ian Campbell [Thu, 23 May 2013 16:23:59 +0000 (17:23 +0100)]
xen-devel README: Move DB to $prefix/var/run

8 years agoMerge branch 'master' of gitorious.org:emesinae/emesinae
Ian Campbell [Thu, 23 May 2013 16:22:16 +0000 (17:22 +0100)]
Merge branch 'master' of gitorious.org:emesinae/emesinae

8 years agoxen-devel: Move DB to prefix/var/run.
Ian Campbell [Thu, 23 May 2013 13:52:31 +0000 (14:52 +0100)]
xen-devel: Move DB to prefix/var/run.

THis will let al the core directories be root owned.

8 years agoTODO: Taint mode
Ian Campbell [Thu, 23 May 2013 13:44:14 +0000 (14:44 +0100)]
TODO: Taint mode

8 years agobugs.pl: Remove misleading title search box (still TBD)
Ian Campbell [Thu, 23 May 2013 13:43:02 +0000 (14:43 +0100)]
bugs.pl: Remove misleading title search box (still TBD)

8 years agoTODO: Make things nicer for search engines
Ian Campbell [Thu, 23 May 2013 13:41:30 +0000 (14:41 +0100)]
TODO: Make things nicer for search engines

8 years agobug.pl: Handle lack of id paramter
Ian Campbell [Thu, 23 May 2013 13:37:10 +0000 (14:37 +0100)]
bug.pl: Handle lack of id paramter

8 years agoCGI: Limit the amount of P{OST data we accept.
Ian Campbell [Thu, 23 May 2013 13:27:59 +0000 (14:27 +0100)]
CGI: Limit the amount of P{OST data we accept.

8 years agoBug.pm: Ensure severities are valid before passing them to SQL
Ian Campbell [Thu, 23 May 2013 13:27:29 +0000 (14:27 +0100)]
Bug.pm: Ensure severities are valid before passing them to SQL

Spotted by Tim Deegan

8 years agoreceive.pl: Define $id earlier in case of early error
Ian Campbell [Thu, 23 May 2013 10:00:46 +0000 (11:00 +0100)]
receive.pl: Define $id earlier in case of early error

8 years agoUpdate test config for deployment on test system
Ian Campbell [Thu, 23 May 2013 09:34:08 +0000 (10:34 +0100)]
Update test config for deployment on test system

8 years agoMove test configuration under configs/examples
Ian Campbell [Thu, 23 May 2013 08:23:42 +0000 (09:23 +0100)]
Move test configuration under configs/examples

8 years agoBuild: Allow .config to specify local configuration paths.
Ian Campbell [Thu, 23 May 2013 08:21:41 +0000 (09:21 +0100)]
Build: Allow .config to specify local configuration paths.

8 years agoTidy
Ian Campbell [Wed, 22 May 2013 16:04:21 +0000 (17:04 +0100)]
Tidy

8 years agocontrol.pl: Handle ControlAllow case-insensitively
Ian Campbell [Wed, 22 May 2013 11:45:56 +0000 (12:45 +0100)]
control.pl: Handle ControlAllow case-insensitively

(second attempt)

8 years agobugs.pl: Sanitise title HTML
Ian Campbell [Wed, 22 May 2013 15:09:08 +0000 (16:09 +0100)]
bugs.pl: Sanitise title HTML