]> eyrie.org Git - kerberos/kadmin-remctl.git/commitdiff
kadmin-backend-heim: Accept 'never' for expirations
authorJon Robertson <jonrober@stanford.edu>
Fri, 11 Jun 2010 17:46:33 +0000 (10:46 -0700)
committerJon Robertson <jonrober@stanford.edu>
Fri, 11 Jun 2010 17:49:56 +0000 (10:49 -0700)
Accept never as a valid value for account and password expirations.  This
does currently cause a warning from Heimdal::Kadm5, but it still works.

kadmin-backend-heim

index 0d8bbed6fb356ed17bb39ec7cd8750a8bd340f0c..1f910ddfdc954ba74575931359544eb5fbbafe76 100755 (executable)
@@ -328,10 +328,18 @@ sub kadmin_expiration {
     check_principal ($principal, $instance);
     kadmin_config ($instance) or return;
     $principal = "$principal/$instance" if $instance;
-    my $expires = str2time ($expiration);
-    unless (defined $expires) {
-        warn "error: invalid expiration date $expiration\n";
-        exit 1;
+
+    # Accept either anything that str2time can handle, or 'never' as a
+    # special case the KDC understands.
+    my $expires;
+    if ($expiration eq 'never') {
+        $expires = $expiration;
+    } else {
+        $expires = str2time ($expiration);
+        unless (defined $expires) {
+            warn "error: invalid expiration date $expiration\n";
+            exit 1;
+        }
     }
 
     my $kadmin = kadmin_handle ($instance);
@@ -359,10 +367,18 @@ sub kadmin_pwexpiration {
     check_principal ($principal, $instance);
     kadmin_config ($instance) or return;
     $principal = "$principal/$instance" if $instance;
-    my $expires = str2time ($expiration);
-    unless (defined $expires) {
-        warn "error: invalid expiration date $expiration\n";
-        exit 1;
+
+    # Accept either anything that str2time can handle, or 'never' as a
+    # special case the KDC understands.
+    my $expires;
+    if ($expiration eq 'never') {
+        $expires = $expiration;
+    } else {
+        $expires = str2time ($expiration);
+        unless (defined $expires) {
+            warn "error: invalid expiration date $expiration\n";
+            exit 1;
+        }
     }
 
     my $kadmin = kadmin_handle ($instance);