]> granicus.if.org Git - apache/blobdiff - support/dbmmanage.in
simplify walking through array of returned apr_pollfd_t
[apache] / support / dbmmanage.in
index 5309253a4243ba1334e65f3b862bdfe34c4e49ef..2dd8c8679ba359b32b8d3551caa352e918a717ae 100644 (file)
@@ -1,57 +1,19 @@
 #!@perlbin@
-# ====================================================================
-# The Apache Software License, Version 1.1
 #
-# Copyright (c) 2000-2003 The Apache Software Foundation.  All rights
-# reserved.
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
 #
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1. Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#
-# 2. Redistributions in binary form must reproduce the above copyright
-#    notice, this list of conditions and the following disclaimer in
-#    the documentation and/or other materials provided with the
-#    distribution.
-#
-# 3. The end-user documentation included with the redistribution,
-#    if any, must include the following acknowledgment:
-#       "This product includes software developed by the
-#        Apache Software Foundation (http://www.apache.org/)."
-#    Alternately, this acknowledgment may appear in the software itself,
-#    if and wherever such third-party acknowledgments normally appear.
-#
-# 4. The names "Apache" and "Apache Software Foundation" must
-#    not be used to endorse or promote products derived from this
-#    software without prior written permission. For written
-#    permission, please contact apache@apache.org.
-#
-# 5. Products derived from this software may not be called "Apache",
-#    nor may "Apache" appear in their name, without prior written
-#    permission of the Apache Software Foundation.
-#
-# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
-# ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-# SUCH DAMAGE.
-# ====================================================================
-#
-# This software consists of voluntary contributions made by many
-# individuals on behalf of the Apache Software Foundation.  For more
-# information on the Apache Software Foundation, please see
-# <http://www.apache.org/>.
+#     http://www.apache.org/licenses/LICENSE-2.0
 #
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
 
 #for more functionality see the HTTPD::UserAdmin module:
 # http://www.perl.com/CPAN/modules/by-module/HTTPD/HTTPD-Tools-x.xx.tar.gz
@@ -91,9 +53,9 @@ sub need_sha1_crypt {
         print STDERR <<SHAERR;
 dbmmanage SHA1 passwords require the interface or the module Digest::SHA1
 available from CPAN:
+
     http://www.cpan.org/modules/by-module/Digest/Digest-MD5-2.12.tar.gz
+
 Please install Digest::SHA1 and try again, or use a different crypt option:
 
 SHAERR
@@ -105,9 +67,9 @@ sub need_md5_crypt {
     if (!eval ('require "Crypt/PasswdMD5.pm";')) {
         print STDERR <<MD5ERR;
 dbmmanage MD5 passwords require the module Crypt::PasswdMD5 available from CPAN
+
     http://www.cpan.org/modules/by-module/Crypt/Crypt-PasswdMD5-1.1.tar.gz
+
 Please install Crypt::PasswdMD5 and try again, or use a different crypt option:
 
 MD5ERR
@@ -149,7 +111,7 @@ if ($crypt_not_supported) {
 if (@ARGV[0] eq "-d") {
     shift @ARGV;
     if ($crypt_not_supported) {
-        print STDERR 
+        print STDERR
               "Warning: Apache/$^O does not support crypt()ed passwords!\n\n";
     }
     $crypt_method = "crypt";
@@ -163,7 +125,7 @@ if (@ARGV[0] eq "-m") {
 if (@ARGV[0] eq "-p") {
     shift @ARGV;
     if (!$crypt_not_supported) {
-        print STDERR 
+        print STDERR
               "Warning: Apache/$^O does not support plaintext passwords!\n\n";
     }
     $crypt_method = "plain";
@@ -190,7 +152,7 @@ $file =~ s/\.($chop)$//;
 my $is_update = $command eq "update";
 my %DB = ();
 my @range = ();
-my($mode, $flags) = $command =~ 
+my($mode, $flags) = $command =~
     /^(?:view|check)$/ ? (0644, O_RDONLY) : (0644, O_RDWR|O_CREAT);
 
 tie (%DB, "AnyDBM_File", $file, $flags, $mode) || die "Can't tie $file: $!";
@@ -202,11 +164,11 @@ my $x;
 sub genseed {
     my $psf;
     if ($not_unix) {
-       srand (time ^ $$ or time ^ ($$ + ($$ << 15)));
+        srand (time ^ $$ or time ^ ($$ + ($$ << 15)));
     }
     else {
-        for (qw(-xlwwa -le)) { 
-           `ps $_ 2>/dev/null`;
+        for (qw(-xlwwa -le)) {
+            `ps $_ 2>/dev/null`;
             $psf = $_, last unless $?;
         }
         srand (time ^ $$ ^ unpack("%L*", `ps $psf | gzip -f`));
@@ -215,14 +177,14 @@ sub genseed {
     $x = int scalar @range;
 }
 
-sub randchar { 
+sub randchar {
     join '', map $range[rand $x], 1..shift||1;
 }
 
 sub saltpw_crypt {
-    genseed() unless @range; 
-    return $newstyle_salt ? 
-       join '', "_", randchar, "a..", randchar(4) :
+    genseed() unless @range;
+    return $newstyle_salt ?
+        join '', "_", randchar, "a..", randchar(4) :
         randchar(2);
 }
 
@@ -233,7 +195,7 @@ sub cryptpw_crypt {
 }
 
 sub saltpw_md5 {
-    genseed() unless @range; 
+    genseed() unless @range;
     randchar(8);
 }
 
@@ -262,15 +224,15 @@ sub cryptpw {
 sub getpass {
     my $prompt = shift || "Enter password:";
 
-    unless($not_unix) { 
-       open STDIN, "/dev/tty" or warn "couldn't open /dev/tty $!\n";
-       system "stty -echo;";
+    unless($not_unix) {
+        open STDIN, "/dev/tty" or warn "couldn't open /dev/tty $!\n";
+        system "stty -echo;";
     }
 
     my($c,$pwd);
     print STDERR $prompt;
     while (($c = getc(STDIN)) ne '' and $c ne "\n" and $c ne "\r") {
-       $pwd .= $c;
+        $pwd .= $c;
     }
 
     system "stty echo" unless $not_unix;
@@ -295,7 +257,7 @@ sub dbmc::update {
 sub dbmc::add {
     die "Can't use empty password!\n" unless $crypted_pwd;
     unless($is_update) {
-       die "Sorry, user `$key' already exists!\n" if $DB{$key};
+        die "Sorry, user `$key' already exists!\n" if $DB{$key};
     }
     $groups = '' if $groups eq '-';
     $comment = '' if $comment eq '-';
@@ -337,14 +299,14 @@ sub dbmc::check {
     } else {
         $crypt_method = "plain";
     }
-    print $crypt_method . (cryptpw($testpass, $chkpass) eq $chkpass 
+    print $crypt_method . (cryptpw($testpass, $chkpass) eq $chkpass
                            ? " password ok\n" : " password mismatch\n");
 }
 
 sub dbmc::import {
     while(defined($_ = <STDIN>) and chomp) {
-       ($key,$crypted_pwd,$groups,$comment) = split /:/, $_, 4;
-       dbmc->add;
+        ($key,$crypted_pwd,$groups,$comment) = split /:/, $_, 4;
+        dbmc->add;
     }
 }