31 lines
912 B
Plaintext
31 lines
912 B
Plaintext
|
#!/usr/bin/perl
|
||
|
|
||
|
use strict;
|
||
|
use warnings;
|
||
|
|
||
|
BEGIN {
|
||
|
die "ENV GL_RC not set\n" unless $ENV{GL_RC};
|
||
|
die "ENV GL_BINDIR not set\n" unless $ENV{GL_BINDIR};
|
||
|
unshift @INC, $ENV{GL_BINDIR};
|
||
|
}
|
||
|
use gitolite_rc;
|
||
|
use gitolite;
|
||
|
|
||
|
die "$HTPASSWD_FILE doesn't exist or is not writable\n" unless -w $HTPASSWD_FILE;
|
||
|
$|++;
|
||
|
print <<EOFhtp;
|
||
|
Please type in your new htpasswd at the prompt. You only have to type it once.
|
||
|
|
||
|
NOTE THAT THE PASSWORD WILL BE ECHOED, so please make sure no one is
|
||
|
shoulder-surfing, and make sure you clear your screen as well as scrollback
|
||
|
history after you're done (or close your terminal instance).
|
||
|
|
||
|
EOFhtp
|
||
|
print "new htpasswd:";
|
||
|
|
||
|
my $password = <>;
|
||
|
$password =~ s/[\n\r]*$//;
|
||
|
die "empty passwords are not allowed\n" unless $password;
|
||
|
my $rc = system("htpasswd", "-mb", $HTPASSWD_FILE, $ENV{GL_USER}, $password);
|
||
|
die "htpasswd command seems to have failed with $rc return code...\n" if $rc;
|