Skip to content

Instantly share code, notes, and snippets.


Chris Tankersley dragonmantank

View GitHub Profile
View gist:8898fa1ae84ae344709f1954c609c44b
// roles/mailserver/templates/
user = {{ mail_db_username }}
password = {{ mail_db_password }}
hosts =
dbname = {{ mail_db_database }}
query = SELECT email FROM virtual_users WHERE email='%s'
// Changed this line in roles/mailserver/templates/
virtual_mailbox_maps = pgsql:/etc/postfix/,pgsql:/etc/postfix/

Keybase proof

I hereby claim:

  • I am dragonmantank on github.
  • I am ctankersley ( on keybase.
  • I have a public key whose fingerprint is 0FF8 1FD0 5ACE B73D 21AD 13DB F2FB E902 6BFE EABB

To claim this, I am signing this object:

dragonmantank / gist:6723460
Last active Jan 21, 2016
Reset Apache httpd to run as the vagrant user
View gist:6723460
exec { "change_httpd_user":
command => "sed -i 's/www-data/vagrant/g' /etc/apache2/envvars",
onlyif => "/bin/grep -q 'www-data' '/etc/apache2/envvars'",
notify => Service['apache2'],
require => Package['apache2'],
file { "/var/lock/apache2":
ensure => "directory",
owner => "vagrant",
View gist:5829df0a5845738bd683
Verifying that +dragonmantank is my blockchain ID.
dragonmantank / post-checkout
Created Nov 9, 2015 — forked from rdohms/post-checkout
Auto-run Composer on branch checkout
View post-checkout
# .git/hooks/post-checkout
source ~/.profile
# Allows us to read user input below, assigns stdin to keyboard
exec < /dev/tty
dragonmantank / gist:4197623
Created Dec 3, 2012
saffire break backtrace
View gist:4197623
#0 0x00007ffff6b21411 in vfprintf () from /lib/
#1 0x00007ffff6b26a00 in ?? () from /lib/
#2 0x00007ffff6b215de in vfprintf () from /lib/
#3 0x000000000041b80f in _output (f=0x7ffff6e59860, format=0x426842 "Error: ", args=0x0) at components/general/output.c:36
#4 0x000000000041bb14 in error_and_die (exitcode=1, format=0x41ed40 "line %lu: %s\n") at components/general/output.c:81
#5 0x000000000040df52 in yyerror (ast=0x7fffffffe448, err=0x7fffffffe370 "syntax error, unexpected end of file, expecting ';'")
at components/compiler/saffire.y:42
#6 0x0000000000411ffa in yyparse (ast_root=0x7fffffffe448) at components/compiler/
#7 0x0000000000408ad8 in ast_generate_tree (fp=0x630030) at components/compiler/ast.c:68
#8 0x00000000004093ce in ast_generate_from_file (source_file=0x7fffffffe96c "test.sf") at components/compiler/ast.c:359
View gist:4197575
vagrant@vagrant:/vagrant$ php unittests/unittester/run-saffire-tests.php unittests/tests/base/break-001.sfu
Saffire Test Suite v0.1 - The Saffire Group
Start time: 20:55:47
unittests/tests/base/break-001.sfu : Break control tests : [XXXXX]
End time: 20:55:47 (0.05 seconds running time)
Test files : 1
Total tests : 5
Passed : 0 (0%)
Failed : 5 (100%)
View New Dynamx Deploy

New Dynamx Deployment Procedure

This document described the deployment procedure for New Dynamx.

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.

dragonmantank / gist:871168
Created Mar 15, 2011
Parses accept headers based on preference
View gist:871168
* Returns the Accept options that the client requested
* This array is seperated by the precedence that the client requested as well.
* @param string $rawOptions Accept options from the header
* @return array
function getAcceptOptions($rawOptions) {
$options = explode(',', $rawOptions);
$accept = array();
foreach ($options as $option) {