JILS-27: Email address obfuscation



Issue Information

Issue Type: New Feature
 
Priority: Major
Status: Closed

Reported By:
Ben Tasker
Assigned To:
Ben Tasker
Project: Jira Issue Listing Script (JILS)
Resolution: Done (2016-04-29 15:03:33)
Affects Version: 0.01b,
Target version: 0.01b,

Created: 2014-11-12 14:26:26
Time Spent Working


Description
From time to time, an issue description (or comment) may include an email address. These need to be obfuscated in one of two ways (depending on the value of a config setting)

- Obfuscated in markup but readable by a human
- Replaced with a placeholder to indicate it's an email address, but address removed from public view.


Toggle State Changes

Activity


btasker changed status from 'Open' to 'In Progress'

Repo: Jira-Issue-Listing
Commit: 8c2dbe6655d616bcb1d15587265caafe65ca5ff7
Author: B Tasker <github@<Domain Hidden>>

Date: Thu Nov 13 01:56:57 2014 +0000
Commit Message: Basic email obfuscation implemented. See JILS-27



Modified (-)(+)
-------
utils.class.php




Webhook User-Agent

GitHub-Hookshot/ae0346d


View Commit

Have implemented a regex and callback function to perform obfuscation. At the moment there's no option to adjust it's behaviour, but the basic functionality seems to work OK

Repo: Jira-Issue-Listing
Commit: 234dfa3424f3d4a6311bcf06a56a82560f46818d
Author: B Tasker <github@<Domain Hidden>>

Date: Thu Nov 13 02:08:52 2014 +0000
Commit Message: Added ability to control obfuscation level. See JILS-27



Modified (-)(+)
-------
config.php
utils.class.php




Webhook User-Agent

GitHub-Hookshot/ae0346d


View Commit

Have now implemented the ability to set the obfuscation level, within the config file one of the following can be set for emailObfs

- none
- part
- full
- bot
Note: not case sensitive

None
Does what it says on the tin, leaves the email addresses along


Part
Removes the domain half of any email addresses, so it becomes user@<Domain Hidden>


Full
Strips email addresses completely, replacing them with the string <Email Hidden>


Bot
Uses javascript to obfuscate addresses within the markup, but once the JS has processed a human readable version of email addresses will be visible. This is the default value.
Would quite like to add the ability to set a level by client (much like can be done for project filters - internal uses would be fine with obfuscation turned off completely, whilst a more stringent version might be wanted on anything displayed publicly)
New config option created - IPemailObfs

Works the same way as emailObfs but is an array allowing the default setting to be overridden on a per-IP basis.

Repo: Jira-Issue-Listing
Commit: f41b57dee38b18d95d59446c87bdb83a489b39a4
Author: B Tasker <github@<Domain Hidden>>

Date: Thu Nov 13 02:19:19 2014 +0000
Commit Message: Implemented ability to override obfuscation on a per IP basis. See JILS-27



Modified (-)(+)
-------
config.php
utils.class.php




Webhook User-Agent

GitHub-Hookshot/ae0346d


View Commit

btasker changed status from 'In Progress' to 'Resolved'
btasker added 'Done' to resolution
btasker changed status from 'Resolved' to 'Closed'
-------------------------
From: Ben Tasker <ben@<Domain Hidden>>
To: "Ben Tasker (JIRA)" <jiraacct@<Domain Hidden>>
Date: Thu, 13 Nov 2014 02:57:47 +0000
Subject: JILS-27
-------------------------


A basic mail-envelope is now being written into emails received by JIRA,
and the Issue Listing Script is correctly obfuscating the displayed
addresses on a per client basis

--
Ben Tasker
http://www.bentasker.co.uk

One Server to rule them all,
One Ping to Find Them,
One LAN to bring them all,
And in the darknet BIND them.

- The Tolkien Ring Network

01001001 01100110 00100000 01111001 01101111 01110101 00100000 01100011
01100001 01101110 00100000 01110010 01100101 01100001 01100100 00100000
01110100 01101000 01101001 01110011 00100000 01111001 01101111 01110101
00100000 01100001 01110010 01100101 00100000 01100001 01110011 00100000
01110011 01100001 01100100 00100000 01100001 01110011 00100000 01001001
00100000 01100001 01101101

Command line Russian Roulette: [ $[ $RANDOM % 6 ] == 0 ] && rm -rf / ||
echo Click
Re-opening to assign to a version
btasker removed 'Done' from resolution
btasker changed status from 'Closed' to 'Reopened'
Assigning to v0.01b
btasker added '0.01b' to Version
btasker added '0.01b' to Fix Version
Re-Closing
btasker changed status from 'Reopened' to 'Resolved'
btasker added 'Done' to resolution
btasker changed status from 'Resolved' to 'Closed'