diff options
author | Günther Deschner <gd@samba.org> | 2006-02-22 10:28:02 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 11:10:19 -0500 |
commit | cab298856ab1179cdaec2ef89121f7c66c6b6d76 (patch) | |
tree | 07a123f24e5644341dbf115712995ef0e4352f71 /source3/lib | |
parent | 0d7f6d650dd3d2c77711d00ffb41e829bb49905f (diff) | |
download | samba-cab298856ab1179cdaec2ef89121f7c66c6b6d76.tar.gz samba-cab298856ab1179cdaec2ef89121f7c66c6b6d76.tar.bz2 samba-cab298856ab1179cdaec2ef89121f7c66c6b6d76.zip |
r13622: Allow to rename machine accounts in a Samba Domain. This still uses the
"rename user script" to do the rename of the posix machine account (this
might be changed later). Fixes #2331.
Guenther
(This used to be commit b2eac2e6eb6ddd1bcb4ed5172e7cd64144c18d16)
Diffstat (limited to 'source3/lib')
-rw-r--r-- | source3/lib/util_str.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/source3/lib/util_str.c b/source3/lib/util_str.c index e4aa5dbd51..e799556cd1 100644 --- a/source3/lib/util_str.c +++ b/source3/lib/util_str.c @@ -923,7 +923,7 @@ BOOL string_set(char **dest,const char *src) **/ void string_sub2(char *s,const char *pattern, const char *insert, size_t len, - BOOL remove_unsafe_characters, BOOL replace_once) + BOOL remove_unsafe_characters, BOOL replace_once, BOOL allow_trailing_dollar) { char *p; ssize_t ls,lp,li, i; @@ -955,6 +955,11 @@ void string_sub2(char *s,const char *pattern, const char *insert, size_t len, case '\'': case ';': case '$': + /* allow a trailing $ (as in machine accounts) */ + if (allow_trailing_dollar && (i == li - 1 )) { + p[i] = insert[i]; + break; + } case '%': case '\r': case '\n': @@ -978,12 +983,12 @@ void string_sub2(char *s,const char *pattern, const char *insert, size_t len, void string_sub_once(char *s, const char *pattern, const char *insert, size_t len) { - string_sub2( s, pattern, insert, len, True, True ); + string_sub2( s, pattern, insert, len, True, True, False ); } void string_sub(char *s,const char *pattern, const char *insert, size_t len) { - string_sub2( s, pattern, insert, len, True, False ); + string_sub2( s, pattern, insert, len, True, False, False ); } void fstring_sub(char *s,const char *pattern,const char *insert) |