HEX
Server: Apache
System: Linux vps-cdc32557.vps.ovh.ca 5.15.0-156-generic #166-Ubuntu SMP Sat Aug 9 00:02:46 UTC 2025 x86_64
User: hanode (1017)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //usr/share/usermin/chfn/save.cgi
#!/usr/bin/perl
# save.cgi
# Change the user's details and shell

require './chfn-lib.pl';
&ReadParse();
&error_setup($text{'save_err'});

# Force current values for those that can't be changed
@remote_user_info = getpwnam($remote_user);
@uinfo = split(/,/, $remote_user_info[6]);
$in{'real'} = $uinfo[0] if (!$config{'change_real'});
$in{'office'} = $uinfo[1] if (!$config{'change_office'});
$in{'ophone'} = $uinfo[2] if (!$config{'change_ophone'});
$in{'hphone'} = $uinfo[3] if (!$config{'change_hphone'});
$in{'shell'} = $remote_user_info[8] if (!$config{'change_shell'});

# Make sure values are set
$in{'shell'} =~ /\S/ || &error($text{'save_eshell2'});
$in{'real'} =~ /\S/ || &error($text{'save_ereal2'});

# Validate inputs
$in{'real'} =~ /[,:]/ && &error($text{'save_ereal'});
$in{'office'} =~ /[,:]/ && &error($text{'save_eoffice'});
$in{'ophone'} =~ /[,:]/ && &error($text{'save_eophone'});
$in{'hphone'} =~ /[,:]/ && &error($text{'save_ehphone'});
$in{'shell'} =~ /[,:]/ && &error($text{'save_eshell'});

# Change the details and shell
$err = &change_details($in{'real'}, $in{'office'}, $in{'ophone'}, $in{'hphone'},
		       $in{'shell'});
$err && &error("<tt>$err</tt>");

&ui_print_header(undef, $text{'save_title'}, "");

print &text($config{'change_shell'} ? 'save_desc' : 'save_desc2',
		  "<tt>$remote_user</tt>"),"<p>\n";

&ui_print_footer("/", $text{'index'});