Age | Commit message (Collapse) | Author | Files | Lines |
|
ret is a bool and size is what we are looking for here, else the
statement can never be true.
Jeremy please check!
Found by Coverity.
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Günther Deschner <gd@samba.org>
|
|
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Wed Aug 22 20:38:50 CEST 2012 on sn-devel-104
|
|
|
|
Autobuild-User: Jeremy Allison <jra@samba.org>
Autobuild-Date: Sat Feb 18 06:22:40 CET 2012 on sn-devel-104
|
|
Found by callcatcher: http://www.skynet.ie/~caolan/Packages/callcatcher.html
Andrew Bartlett
|
|
Found by callcatcher: http://www.skynet.ie/~caolan/Packages/callcatcher.html
Andrew Bartlett
|
|
systems.
Re-add:
smb_ucs2_t toupper_w(smb_ucs2_t v);
and ensure it is called whenever we are operating on smb_ucs2_t
variables. I'd like to make the definition of smb_ucs2_t incompatible
with int and codepoint_t so they can't be mixed, but that's a patch
for another time.
Autobuild-User: Jeremy Allison <jra@samba.org>
Autobuild-Date: Tue Jul 19 23:48:05 CEST 2011 on sn-devel-104
|
|
Using the standard macro makes it easier to move code into common, as
TALLOC_REALLOC_ARRAY isn't standard talloc.
Andrew Bartlett
|
|
This assists with some dependency loops
Andrew Bartlett
|
|
The only caller of push_string() (not to be confused with
push_string_check()) in the common code was encode_pw_buffer(), and it
didn't use the alignment or STR_UPPER flags.
The talloc_strupper() and talloc_strlower() functions are tested in
smbtorture, and are next_codepoint() based.
Andrew Bartlett
|
|
|
|
These were copied from source3/lib/charcnv.c
Andrew Bartlett
|
|
This is now API compatible with the existing code in lib/util/charset
lazy_initialize_conv() is no longer called as init_iconv() is called
when the smb.conf is processed, and get_conv_handle() will auto-init
with defaults if required.
load_case_tables_library() is no longer requried as all binaries and
libraries already load these in their entry points, as otherwise all
the other string functions would fail.
Andrew Bartlett
|
|
|
|
This is the first step to this being the common convert_string
implementation.
Andrew Bartlett
Signed-off-by: Andrew Tridgell <tridge@samba.org>
|
|
Signed-off-by: Andrew Tridgell <tridge@samba.org>
|
|
This file (largely) contains functions to deal with UTF16 strings.
Andrew Bartlett
Signed-off-by: Andrew Tridgell <tridge@samba.org>
|
|
Signed-off-by: Andrew Tridgell <tridge@samba.org>
|
|
Makes these interfaces much harder to misuse and easier to ensure error
checking.
Autobuild-User: Jeremy Allison <jra@samba.org>
Autobuild-Date: Wed Mar 30 23:59:37 CEST 2011 on sn-devel-104
|
|
Move closer to makeing all convert_string_XXX functions return bool.
Autobuild-User: Jeremy Allison <jra@samba.org>
Autobuild-Date: Wed Mar 30 20:58:10 CEST 2011 on sn-devel-104
|
|
|
|
This reverts a part of 0189087e257f. That one might have fixed the fast path,
but it broke the slow path. convert_string_internal returns 0/-1 despite the
size_t result type and the misleading comment. If you follow the path to
smb_iconv and for example iconv_copy(), you will see that this routine returns
0 even after it copied something.
How to check: Use German locale, and do an smbclient "allinfo" on a file
modified in march (März in German). Notice the "ä". Before 0189087 this printed
correctly, after 0189087 it cut off the fields after the M for März.
Autobuild-User: Volker Lendecke <vlendec@samba.org>
Autobuild-Date: Tue Mar 29 19:17:41 CEST 2011 on sn-devel-104
|
|
is configured.
As discovered by David Disseldorp <ddiss@suse.de>, convert_string_talloc()
doesn't always return consistent results for a zero length string. The
API states an incoming string must *always* contain the terminating null,
but unfotunately too much code expects passing in a zero source length
to return a null terminated string, so at least ensure we return a
correct null string in the required character set and return the
correct length.
Also ensure we cannot return a zero length for a converted string
(we ensure that the returned buffer is always allocated and zero
terminated anyway) as calling code depends on the fact that returning
true from this function will *always* return a non-zero length (as
it must include the terminating null).
Jeremy.
Autobuild-User: Jeremy Allison <jra@samba.org>
Autobuild-Date: Fri Mar 25 23:25:40 CET 2011 on sn-devel-104
|
|
|
|
lp_failed_convert_char() is not needed any more
|
|
This better reflects what this structure is
Andrew Bartlett
|
|
debug error display happens in the convert_string() outer function
|
|
use convert_string_error() instead
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
|
|
This function returns errors rather than printing them.
Andrew Bartlett
|
|
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
|
|
it is local to charcnv.c
|
|
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
|
|
Guenther
Autobuild-User: Günther Deschner <gd@samba.org>
Autobuild-Date: Thu Mar 24 23:54:25 CET 2011 on sn-devel-104
|
|
convert_string*()
we shouldn't accept bad multi-byte strings, it just hides problems
Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Thu Mar 24 01:47:26 CET 2011 on sn-devel-104
|
|
This code wrote to the full buffer in fstrcpy(), pstrcpy() and other
fixed-length string manipulation functions.
The hope of this code was to find out at run time if we were mixing up
pstring and fstring etc, and to record where this came from. It has a
runtime performance impact (particularly if compiled with
--enable-developer).
It is being removed because of the complexity it adds, and the
distinct lack of bugs that this complexity has been credited in
finding.
The macro-based compile-time checking of string sizes remains.
Andrew Bartlett
|
|
When pulling non-aligned ucs2 strings, we neglected to add in the
pad byte to the buffer length we've eaten. This caused the device
string in TCONX (which seems to be one of the few places that uses
non-aligned ucs2 strings) to be incorrectly read.
Volker please check.
Jeremy.
|
|
When called from a library, we don't want to call this, as we may
overwrite some of our calling program's context.
Andrew Bartlett
Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Fri Feb 18 09:29:35 CET 2011 on sn-devel-104
|
|
We now use the struct smb_iconv_convenience at the core of all our
iconv code, and use global_iconv_convenience for the callers that
don't specify one.
Andrew Bartlett
|
|
This file is always installed, and is only even required for the old,
depricated mangle hash method.
Andrew Bartlett
|
|
These now call the common _m functions that consider UTF16 code points.
This removes the code which will make up a 'lame' table in memory, as
this can just as correctly be handled by running the algorithm at runtime (which is to call toupper() and tolower() on characters < 128).
When used, a top level waf build will always locate the correct table
- in the build tree or outside - due to relinking the installed
binary.
Andrew Bartlett
|
|
(giving the unicod U+<hexnumber> notation of the codepoints
referred to in the comments)
|
|
|
|
|
|
next_codepoint() takes as string in CH_UNIX encoding and returns the
unicode codepoint of the next (possibly multibyte) character of the
input string.
The new next_codepoint_ext() function adds the encoding of the input
string as a parameter. next_codepoint() now only calls next_codepoint_ext()
with CH_UNIX als src_charset argument.
|
|
|
|
Jeremy.
|
|
Jeremy.
|
|
Guenther
|
|
Guenther
|
|
|