mirror of
https://github.com/samba-team/samba.git
synced 2025-02-26 21:57:41 +03:00
lib/util/charset Don't allow invalid 'dos charset = utf8'
No DOS client used UTF8, and this creates subtle, difficult to disagnose breakage of schannel (domain membership). Andrew Bartlett
This commit is contained in:
parent
035dbce3ad
commit
3c8de7dd66
@ -290,6 +290,11 @@ _PUBLIC_ struct smb_iconv_handle *smb_iconv_handle_reinit(TALLOC_CTX *mem_ctx,
|
||||
|
||||
talloc_set_destructor(ret, close_iconv_handle);
|
||||
|
||||
if (strcasecmp(dos_charset, "UTF8") == 0 || strcasecmp(dos_charset, "UTF-8") == 0) {
|
||||
DEBUG(0,("ERROR: invalid DOS charset: 'dos charset' must not be UTF8, using (default value) CP850 instead\n"));
|
||||
dos_charset = "CP850";
|
||||
}
|
||||
|
||||
ret->dos_charset = talloc_strdup(ret->child_ctx, dos_charset);
|
||||
ret->unix_charset = talloc_strdup(ret->child_ctx, unix_charset);
|
||||
ret->display_charset = talloc_strdup(ret->child_ctx, display_charset);
|
||||
|
@ -240,12 +240,18 @@ via the %%o substitution. With encrypted passwords this is not possible.\n", lp_
|
||||
|
||||
if (!lp_passdb_backend()) {
|
||||
fprintf(stderr,"ERROR: passdb backend must have a value or be left out\n");
|
||||
ret = 1;
|
||||
}
|
||||
|
||||
if (lp_os_level() > 255) {
|
||||
fprintf(stderr,"WARNING: Maximum value for 'os level' is 255!\n");
|
||||
}
|
||||
|
||||
if (strequal(lp_dos_charset(), "UTF8") || strequal(lp_dos_charset(), "UTF-8")) {
|
||||
fprintf(stderr, "ERROR: 'dos charset' must not be UTF8\n");
|
||||
ret = 1;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user