view libtomcrypt/filter.pl @ 1885:5d8dbb6fdab7

Fix SSH_PUBKEYINFO, limit characters, add tests We fix a bad_bufptr() failure from a previous commit. We now limit the allowed characters to those that will definitely be safe in a shell. Some scripts/programs may use arbitrary environment variables without escaping correctly - that could be a problem in a restricted environment. The current allowed set is a-z A-Z 0-9 .,_-+@ This also adds a test for SSH_PUBKEYINFO, by default it only runs under github actions (or "act -j build").
author Matt Johnston <matt@ucc.asn.au>
date Wed, 16 Mar 2022 17:17:23 +0800
parents 0cbe8f6dbf9e
children
line wrap: on
line source

#!/usr/bin/perl

# we want to filter every between START_INS and END_INS out and then insert crap from another file (this is fun)

$dst = shift;
$ins = shift;

open(SRC,"<$dst");
open(INS,"<$ins");
open(TMP,">tmp.delme");

$l = 0;
while (<SRC>) {
   if ($_ =~ /START_INS/) {
      print TMP $_;
      $l = 1;
      while (<INS>) {
         print TMP $_;
      }
      close INS;
   } elsif ($_ =~ /END_INS/) {
      print TMP $_;
      $l = 0;
   } elsif ($l == 0) {
      print TMP $_;
   }
}

close TMP;
close SRC;