The default MySQL table type can now be set on the MySQL Server Configuration page.
---- Changes since 1.510 ----
Added greater than / less than selectors to the table data search form.
+The SSL / X509 authentication type for a user can be set on the Edit User page.
}
print &ui_table_start($text{'user_header'}, undef, 2);
%sizes = &table_field_sizes($master_db, "user");
+%fieldmap = map { $_->{'field'}, $_->{'index'} }
+ &table_structure($master_db, "user");
# Username field
print &ui_table_row($text{'user_user'},
print &ui_table_row($text{'user_perms'},
&ui_select("perms", \@sel, \@opts, 10, 1, 1));
+# SSL needed?
+if ($mysql_version >= 5 && $fieldmap{'ssl_type'}) {
+ print &ui_table_row($text{'user_ssl'},
+ &ui_select("ssl_type", $u->[$fieldmap{'ssl_type'}],
+ [ [ '', $text{'user_ssl_none'} ],
+ [ 'ANY', $text{'user_ssl_ssl'} ],
+ [ 'X509', $text{'user_ssl_x509'} ] ],
+ 1, 0, 1));
+ }
+
print &ui_table_end();
print &ui_form_end([ $in{'new'} ? ( [ undef, $text{'create'} ] )
: ( [ undef, $text{'save'} ],
user_err=Failed to save user
user_euser=Missing or invalid username
user_ehost=Missing or invalid allow host(s)
+user_ssl=Required certificate type
+user_ssl_none=None needed
+user_ssl_ssl=SSL
+user_ssl_x509=X509
dbs_title=Database Permissions
dbs_db=Databases
for($i=0; $i<@{$s->{'titles'}}; $i++) {
$tp{lc($s->{'titles'}->[$i])} = $i;
}
+my $i = 0;
foreach $r (@{$s->{'data'}}) {
push(@rv, { 'field' => $r->[$tp{'field'}],
'type' => $r->[$tp{'type'}],
'null' => $r->[$tp{'null'}],
'key' => $r->[$tp{'key'}],
'default' => $r->[$tp{'default'}],
- 'extra' => $r->[$tp{'extra'}] });
+ 'extra' => $r->[$tp{'extra'}],
+ 'index' => $i++ });
}
return @rv;
}
"update user set password = NULL ".
"where user = '$user' and host = '$host'");
}
+
+ # Set SSL fields
+ if ($mysql_version >= 5 && defined($in{'ssl_type'})) {
+ &execute_sql_logged($master_db,
+ "update user set ssl_type = '$in{'ssl_type'}' ".
+ "where user = '$user' and host = '$host'");
+ }
}
&execute_sql_logged($master_db, 'flush privileges');
if (!$in{'delete'} && !$in{'new'} &&