X-Git-Url: https://granicus.if.org/sourcecode?a=blobdiff_plain;f=support%2Fdbmmanage.in;h=2dd8c8679ba359b32b8d3551caa352e918a717ae;hb=15734940adae6ea9b660a9595ca359c078640bc3;hp=5309253a4243ba1334e65f3b862bdfe34c4e49ef;hpb=742af25096a2a1ee4d38e0e6350a176cfab1146e;p=apache
diff --git a/support/dbmmanage.in b/support/dbmmanage.in
index 5309253a42..2dd8c8679b 100644
--- a/support/dbmmanage.in
+++ b/support/dbmmanage.in
@@ -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/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 </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($_ = ) and chomp) {
- ($key,$crypted_pwd,$groups,$comment) = split /:/, $_, 4;
- dbmc->add;
+ ($key,$crypted_pwd,$groups,$comment) = split /:/, $_, 4;
+ dbmc->add;
}
}