#!/usr/bin/env perl

my $f = 0;
my @l = `ls -la /dev/bpf*`;
foreach my $i (@l) {
    chomp($i);
    if ($i =~ m/^c([rwx\-]{9})\s+\d+\s+([^\s]+)\s+([^\s]+)\s+.+(\/dev\/bpf\d+)$/) {
	my $mod = $1;
	my $own = $2;
	my $grp = $3;
	my $cmd = $4;
	if ($grp ne 'admin') {
	    $f = 1;
	    last;
	}
	if (substr($mod, 3, 2) ne 'rw') {
	    $f = 1;
	    last;
	}
    }
}

if ($f != 0) {
    system('/usr/bin/sudo /bin/sh -c "/usr/bin/chgrp admin /dev/bpf* && /bin/chmod g+rw /dev/bpf*"');
}

exec '/opt/local/bin/wireshark';
