1*00b67f09SDavid van Moolenbroek#!/usr/bin/env perl 2*00b67f09SDavid van Moolenbroek# 3*00b67f09SDavid van Moolenbroek# Copyright (C) 2009-2012, 2014 Internet Systems Consortium, Inc. ("ISC") 4*00b67f09SDavid van Moolenbroek# 5*00b67f09SDavid van Moolenbroek# Permission to use, copy, modify, and/or distribute this software for any 6*00b67f09SDavid van Moolenbroek# purpose with or without fee is hereby granted, provided that the above 7*00b67f09SDavid van Moolenbroek# copyright notice and this permission notice appear in all copies. 8*00b67f09SDavid van Moolenbroek# 9*00b67f09SDavid van Moolenbroek# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH 10*00b67f09SDavid van Moolenbroek# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 11*00b67f09SDavid van Moolenbroek# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, 12*00b67f09SDavid van Moolenbroek# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 13*00b67f09SDavid van Moolenbroek# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE 14*00b67f09SDavid van Moolenbroek# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 15*00b67f09SDavid van Moolenbroek# PERFORMANCE OF THIS SOFTWARE. 16*00b67f09SDavid van Moolenbroek 17*00b67f09SDavid van Moolenbroek# Id: bindkeys.pl,v 1.7 2011/01/04 23:47:13 tbox Exp 18*00b67f09SDavid van Moolenbroek 19*00b67f09SDavid van Moolenbroekuse strict; 20*00b67f09SDavid van Moolenbroekuse warnings; 21*00b67f09SDavid van Moolenbroek 22*00b67f09SDavid van Moolenbroekmy $rev = 'Id: bindkeys.pl,v 1.7 2011/01/04 23:47:13 tbox Exp '; 23*00b67f09SDavid van Moolenbroek$rev =~ s/\$//g; 24*00b67f09SDavid van Moolenbroek$rev =~ s/,v//g; 25*00b67f09SDavid van Moolenbroek$rev =~ s/Id: //; 26*00b67f09SDavid van Moolenbroek 27*00b67f09SDavid van Moolenbroekmy $keys = ""; 28*00b67f09SDavid van Moolenbroek 29*00b67f09SDavid van Moolenbroekmy $lines; 30*00b67f09SDavid van Moolenbroekwhile (<>) { 31*00b67f09SDavid van Moolenbroek chomp; 32*00b67f09SDavid van Moolenbroek if (/\/\* .Id:.* \*\//) { 33*00b67f09SDavid van Moolenbroek $keys = $_; 34*00b67f09SDavid van Moolenbroek next; 35*00b67f09SDavid van Moolenbroek } 36*00b67f09SDavid van Moolenbroek s/\"/\\\"/g; 37*00b67f09SDavid van Moolenbroek s/$/\\n\\/; 38*00b67f09SDavid van Moolenbroek $lines .= $_ . "\n"; 39*00b67f09SDavid van Moolenbroek} 40*00b67f09SDavid van Moolenbroek 41*00b67f09SDavid van Moolenbroek$keys =~ s/\$//g; 42*00b67f09SDavid van Moolenbroek$keys =~ s/\/\* Id: //; 43*00b67f09SDavid van Moolenbroek$keys =~ s/\*\/.*//; 44*00b67f09SDavid van Moolenbroek$keys =~ s/,v//; 45*00b67f09SDavid van Moolenbroek 46*00b67f09SDavid van Moolenbroekprint "/*\n * Generated by $rev \n * From $keys\n */\n"; 47*00b67f09SDavid van Moolenbroek 48*00b67f09SDavid van Moolenbroekmy $mkey = '#define MANAGED_KEYS "\\' . "\n" . $lines . "\"\n"; 49*00b67f09SDavid van Moolenbroek 50*00b67f09SDavid van Moolenbroek$lines =~ s/managed-keys/trusted-keys/; 51*00b67f09SDavid van Moolenbroek$lines =~ s/\s+initial-key//g; 52*00b67f09SDavid van Moolenbroekmy $tkey = '#define TRUSTED_KEYS "\\' . "\n" . $lines . "\"\n"; 53*00b67f09SDavid van Moolenbroek 54*00b67f09SDavid van Moolenbroekprint $tkey; 55*00b67f09SDavid van Moolenbroekprint "\n"; 56*00b67f09SDavid van Moolenbroekprint $mkey; 57