/usr/share/usermin/authentic-theme
NameSizeModeActions
extensions/-0755rm
help/-0755rm
images/-0755rm
lang/-0755rm
modules/-0755rm
unauthenticated/-0755rm
401.cgi3420755editdlrm
403.cgi3420755editdlrm
404.cgi3420755editdlrm
authentic-funcs.pl298740644editdlrm
authentic-init.pl835600644editdlrm
authentic-lib.pl902830644editdlrm
authentic.pl612020644editdlrm
config1390644editdlrm
config.cgi68930755editdlrm
config_save.cgi24450755editdlrm
FUNDING.yml1020644editdlrm
index.cgi3090755editdlrm
LICENSE10670644editdlrm
login-lib-funcs.pl117590644editdlrm
login-lib.pl15180644editdlrm
manifest-usermin.json9820644editdlrm
manifest.template9200644editdlrm
mconfig.cgi67470755editdlrm
mconfig_save.cgi17230755editdlrm
navigation-lib.pl646280644editdlrm
pam_login.cgi34810755editdlrm
password_form.cgi40080755editdlrm
postinstall-usermin.pl2640755editdlrm
postinstall.pl6450755editdlrm
service-worker.js940644editdlrm
session_login.cgi46210755editdlrm
settings-backgrounds.cgi37020755editdlrm
settings-backgrounds_save.cgi16670755editdlrm
settings-editor_favorites_read.cgi8970755editdlrm
settings-editor_favorites_write.cgi5740755editdlrm
settings-editor_read.cgi24400755editdlrm
settings-editor_write.cgi9730755editdlrm
settings-favorites_save.cgi6320755editdlrm
settings-lib.pl6510644editdlrm
settings-logos.cgi47250755editdlrm
settings-logos_save.cgi24010755editdlrm
stats-lib-funcs.pl173900644editdlrm
stats-lib.pl4320644editdlrm
stats.cgi31350755editdlrm
stats.pl77210755editdlrm
sysinfo.cgi78740755editdlrm
tconfig-lib.pl392240644editdlrm
tconfig.cgi45420755editdlrm
theme-update.sh84080755editdlrm
theme.info3790644editdlrm
theme.info.no240644editdlrm
THEME.pgp31020644editdlrm
uconfig.cgi64420755editdlrm
uconfig_save.cgi20340755editdlrm
uninstall-usermin.pl1700755editdlrm
uninstall.pl3460755editdlrm
xhr-lib.pl293100644editdlrm
xhr.cgi3550755editdlrm
Edit: /usr/share/usermin/authentic-theme/pam_login.cgi (3481B)
#!/usr/bin/perl # pam_login.cgi # PAM login page use strict; no strict 'refs'; our (%in, %gconfig, %tconfig, %text, %theme_text); our ($miniserv, $webprefix, $bg, $textbox_attrs, $hostname); require("$ENV{'THEME_ROOT'}/authentic-lib.pl"); require("$ENV{'THEME_ROOT'}/login-lib.pl"); # Filter the username returned by the server, if needed login_username_filter(\%in); # Populate other input data not passed back by the server login_params_populate(\%in); # Show pre-login text banner if ($gconfig{'loginbanner'} && get_env('http_cookie') !~ /banner=1/ && !$in{'logout'} && !$in{'forgot'} && !$in{'failed'} && !$in{'password'} && !$in{'error'} && $in{'initial'}) { print_banner(); return; } # Print login_start print_login_start('pam'); # Print pre-login element print_login_fix($text{'pam_prefix'}); # Print the form print &ui_form_start("$webprefix/pam_login.cgi", "post", undef, 'role="form" onsubmit="theme_spinner()"', 'form-signin session_login pam_login clearfix'); print ui_hidden("cid", $in{'cid'}); # Print login HTTP warning print_login_http_warning(); # Add Webmin icon and title print_login_logo(); # Embed custom logo embed_logo(); # Print login container wrapper print_login_container(); # Print welcome message my $welcome_message = ui_tag('p', &text($gconfig{'nohostname'} ? 'pam_mesg2' : 'pam_mesg', ui_tag('strong', &html_escape($hostname))), { 'class' => 'form-signin-paragraph' }); $welcome_message =~ s/\.\s*(<\/p>)$/$1/; # remove last dot for consistency print $welcome_message; # Print the input fields if (!$in{'password'}) { print ui_tag_start('div', { 'class' => 'input-group form-group' }); print &ui_textbox("answer", undef, 20, 0, undef, "@{[$textbox_attrs->()]} ". "placeholder='$theme_text{'theme_xhred_login_user'}' autofocus", 'session_login pam_login', 1); print ui_tag_start('span', { 'class' => 'input-group-addon' }); print ui_icon('user'); print ui_tag_end('span'); print ui_tag_end('div'); } else { print ui_tag_start('div', { 'class' => 'input-group form-group' }); my $boxfunc = 'ui_password'; my $boxtext = $theme_text{'theme_xhred_login_pass'}; my $boxicon = 'fa2-key'; if ($in{'question'} =~ /code/i) { $boxfunc = 'ui_textbox'; $boxtext = $theme_text{'theme_xhred_login_passphrase'}; $boxicon = 'qrcode'; } print &{$boxfunc}("answer", undef, 20, 0, undef, "@{[$textbox_attrs->()]} ". "placeholder='$boxtext' autofocus", 'session_login pam_login', 1); print ui_tag_start('span', { 'class' => 'input-group-addon' }); print ui_icon($boxicon); print ui_tag_end('span'); print ui_tag_end('div'); } # Print submit button print ui_tag_start('div', { 'class' => 'form-group form-signin-group' }); my $submit_button_text = $in{'password'} ? $text{'pam_login'} : $theme_text{'login_signin'}; print ui_button_icon($submit_button_text, "sign-in", { class => "primary", 'type' => 'submit', 'data-submit' => 'login' }); if ($gconfig{'forgot_pass'}) { print ui_button_icon($theme_text{'session_forgot'}, "unlock", { 'class' => "default", 'data-flipper' => 1, 'data-webmin' => &get_webmin_base_url() }); } # Print post-login element print_login_fix($text{'pam_postfix'}); print ui_tag_end('div'); print ui_tag_end('div'); # front side end # Print password reset inputs print_password_reset(); # Print login end print_login_end();