Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
bugzilla
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
etersoft
bugzilla
Commits
2e37faa7
Commit
2e37faa7
authored
Nov 28, 2007
by
mkanat%bugzilla.org
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Bug 353995: Make checksetup able to reset a user's password
Patch By Max Kanat-Alexander <mkanat@bugzilla.org> (module owner) a=mkanat
parent
c031e0bf
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
64 additions
and
27 deletions
+64
-27
Install.pm
Bugzilla/Install.pm
+44
-23
checksetup.pl
checksetup.pl
+11
-1
messages.html.tmpl
template/en/default/global/messages.html.tmpl
+9
-3
No files found.
Bugzilla/Install.pm
View file @
2e37faa7
...
...
@@ -307,27 +307,9 @@ sub create_admin {
chomp
(
$full_name
);
}
while
(
!
$password
)
{
# trap a few interrupts so we can fix the echo if we get aborted.
local
$SIG
{
HUP
}
=
\&
_create_admin_exit
;
local
$SIG
{
INT
}
=
\&
_create_admin_exit
;
local
$SIG
{
QUIT
}
=
\&
_create_admin_exit
;
local
$SIG
{
TERM
}
=
\&
_create_admin_exit
;
system
(
"stty"
,
"-echo"
)
unless
ON_WINDOWS
;
# disable input echoing
print
get_text
(
'install_admin_get_password'
)
.
' '
;
$password
=
<
STDIN
>
;
chomp
$password
;
print
"\n"
,
get_text
(
'install_admin_get_password2'
)
.
' '
;
my
$pass2
=
<
STDIN
>
;
chomp
$pass2
;
eval
{
validate_password
(
$password
,
$pass2
);
};
if
(
$@
)
{
print
"\n$@\n"
;
undef
$password
;
}
system
(
"stty"
,
"echo"
)
unless
ON_WINDOWS
;
if
(
!
$password
)
{
$password
=
_prompt_for_password
(
get_text
(
'install_admin_get_password'
));
}
my
$admin
=
Bugzilla::
User
->
create
({
login_name
=>
$login
,
...
...
@@ -370,13 +352,52 @@ sub make_admin {
print
"\n"
,
get_text
(
'install_admin_created'
,
{
user
=>
$user
}),
"\n"
;
}
# This is just in case we get interrupted while getting the admin's password.
sub
_create_admin_exit
{
sub
_prompt_for_password
{
my
$prompt
=
shift
;
my
$password
;
while
(
!
$password
)
{
# trap a few interrupts so we can fix the echo if we get aborted.
local
$SIG
{
HUP
}
=
\&
_password_prompt_exit
;
local
$SIG
{
INT
}
=
\&
_password_prompt_exit
;
local
$SIG
{
QUIT
}
=
\&
_password_prompt_exit
;
local
$SIG
{
TERM
}
=
\&
_password_prompt_exit
;
system
(
"stty"
,
"-echo"
)
unless
ON_WINDOWS
;
# disable input echoing
print
$prompt
,
' '
;
$password
=
<
STDIN
>
;
chomp
$password
;
print
"\n"
,
get_text
(
'install_confirm_password'
),
' '
;
my
$pass2
=
<
STDIN
>
;
chomp
$pass2
;
eval
{
validate_password
(
$password
,
$pass2
);
};
if
(
$@
)
{
print
"\n$@\n"
;
undef
$password
;
}
system
(
"stty"
,
"echo"
)
unless
ON_WINDOWS
;
}
return
$password
;
}
# This is just in case we get interrupted while getting a password.
sub
_password_prompt_exit
{
# re-enable input echoing
system
(
"stty"
,
"echo"
)
unless
ON_WINDOWS
;
exit
1
;
}
sub
reset_password
{
my
$login
=
shift
;
my
$user
=
Bugzilla::
User
->
check
(
$login
);
my
$prompt
=
"\n"
.
get_text
(
'install_reset_password'
,
{
user
=>
$user
});
my
$password
=
_prompt_for_password
(
$prompt
);
$user
->
set_password
(
$password
);
$user
->
update
();
print
"\n"
,
get_text
(
'install_reset_password_done'
),
"\n"
;
}
1
;
__END__
...
...
checksetup.pl
View file @
2e37faa7
...
...
@@ -66,7 +66,8 @@ $ENV{'HTTP_ACCEPT_LANGUAGE'} ||= setlocale(LC_CTYPE);
my
%
switch
;
GetOptions
(
\%
switch
,
'help|h|?'
,
'check-modules'
,
'no-templates|t'
,
'verbose|v|no-silent'
,
'make-admin=s'
);
'verbose|v|no-silent'
,
'make-admin=s'
,
'reset-password=s'
);
# Print the help message if that switch was selected.
pod2usage
({
-
verbose
=>
1
,
-
exitval
=>
1
})
if
$switch
{
'help'
};
...
...
@@ -212,6 +213,9 @@ Bugzilla::Install::update_settings();
Bugzilla::Install::
make_admin
(
$switch
{
'make-admin'
})
if
$switch
{
'make-admin'
};
Bugzilla::Install::
create_admin
();
Bugzilla::Install::
reset_password
(
$switch
{
'reset-password'
})
if
$switch
{
'reset-password'
};
###########################################################################
# Create default Product and Classification
###########################################################################
...
...
@@ -240,6 +244,7 @@ checksetup.pl - A do-it-all upgrade and installation script for Bugzilla.
./checksetup.pl [--help|--check-modules]
./checksetup.pl [SCRIPT [--verbose]] [--no-templates|-t]
[--make-admin=user@domain.com]
[--reset-password=user@domain.com]
=head1 OPTIONS
...
...
@@ -267,6 +272,11 @@ Makes the specified user into a Bugzilla administrator. This is
in case you accidentally lock yourself out of the Bugzilla administrative
interface.
=item B<--reset-password>=user@domain.com
Resets the specified user's password. checksetup.pl will prompt you to
enter a new password for the user.
=item B<--no-templates> (B<-t>)
Don't compile the templates at all. Existing compiled templates will
...
...
template/en/default/global/messages.html.tmpl
View file @
2e37faa7
...
...
@@ -356,9 +356,6 @@
[% ELSIF message_tag == "install_admin_get_password" %]
Enter a password for the administrator account:
[% ELSIF message_tag == "install_admin_get_password2" %]
Please retype the password to verify:
[% ELSIF message_tag == "install_admin_created" %]
[% user.login FILTER html %] is now set up as an administrator.
...
...
@@ -376,6 +373,9 @@
[% ELSIF message_tag == "install_column_rename" %]
Renaming column '[% old FILTER html %]' to '[% new FILTER html %]'...
[% ELSIF message_tag == "install_confirm_password" %]
Please retype the password to verify:
[% ELSIF message_tag == "install_default_classification" %]
Creating default classification '[% name FILTER html %]'...
...
...
@@ -406,6 +406,12 @@
account) to ensure it is set up as you wish - this includes
setting the 'urlbase' option to the correct URL.
[% ELSIF message_tag == "install_reset_password" %]
Enter a new password for [% user.login FILTER html %]:
[% ELSIF message_tag == "install_reset_password_done" %]
New password set.
[% ELSIF message_tag == "install_webservergroup_empty" %]
****************************************************************************
WARNING! You have not entered a value for the "webservergroup" parameter
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment