Do not apply the pass and client subcommands to former members.
authorMatt Birkholz <matt@birchwood-abbey.net>
Fri, 21 Nov 2025 00:09:28 +0000 (17:09 -0700)
committerMatt Birkholz <matt@birchwood-abbey.net>
Fri, 21 Nov 2025 00:11:48 +0000 (17:11 -0700)
README.org
inst

index c5c596f3ea3c22ddd207b32cc65df51d97539f3c..235be4ca18bf7c68b7249e1154c3195d59e3f7c0 100644 (file)
@@ -6439,7 +6439,8 @@ if (defined $ARGV[0] && $ARGV[0] eq "pass") {
   my $mem_yaml = read_members_yaml ();
   my $members = $mem_yaml->{"members"};
   my $member = $members->{$user};
-  die "No such member: $user\n" if ! defined $member;
+  die "$user: does not exist\n" if ! defined $member;
+  die "$user: no longer current\n" if $member->{"status"} ne "current";
 
   my $pass = decode_base64 $pass64;
   my $epass = shell_escape $pass;
@@ -6670,6 +6671,8 @@ if (defined $ARGV[0] && $ARGV[0] eq "client") {
   my $member = $members->{$user};
   die "$user: does not exist\n"
     if !defined $member && $type ne "campus";
+  die "$user: no longer current\n"
+    if defined $member && $member->{"status"} ne "current";
 
   my @campus_peers # [ name, hostnum, type, pubkey, user|"" ]
      = map { [ (split / /), "" ] } @{$yaml->{"clients"}};
diff --git a/inst b/inst
index d6e8ebd97b6e07f28ee7581c266cdb2dbbe30523..7d44a6d98a3c8bbc5db5d7b1efe1bba22696dca0 100755 (executable)
--- a/inst
+++ b/inst
@@ -310,7 +310,8 @@ if (defined $ARGV[0] && $ARGV[0] eq "pass") {
   my $mem_yaml = read_members_yaml ();
   my $members = $mem_yaml->{"members"};
   my $member = $members->{$user};
-  die "No such member: $user\n" if ! defined $member;
+  die "$user: does not exist\n" if ! defined $member;
+  die "$user: no longer current\n" if $member->{"status"} ne "current";
 
   my $pass = decode_base64 $pass64;
   my $epass = shell_escape $pass;
@@ -389,6 +390,8 @@ if (defined $ARGV[0] && $ARGV[0] eq "client") {
   my $member = $members->{$user};
   die "$user: does not exist\n"
     if !defined $member && $type ne "campus";
+  die "$user: no longer current\n"
+    if defined $member && $member->{"status"} ne "current";
 
   my @campus_peers # [ name, hostnum, type, pubkey, user|"" ]
      = map { [ (split / /), "" ] } @{$yaml->{"clients"}};