From c049b8157d0bb4b5cd57b66740a26813be4f9eba Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Tue, 20 Nov 2007 15:31:37 -0800 Subject: More trivial pstring removal. Jeremy. (This used to be commit bac3bb2f6e9e15b3a9a6a6511c484f8509918ca1) --- source3/lib/charcnv.c | 2 +- source3/lib/util_unistr.c | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) (limited to 'source3/lib') diff --git a/source3/lib/charcnv.c b/source3/lib/charcnv.c index da972f550f..0dfa88e87e 100644 --- a/source3/lib/charcnv.c +++ b/source3/lib/charcnv.c @@ -932,7 +932,7 @@ char *strdup_lower(const char *s) return out_buffer; } -static size_t ucs2_align(const void *base_ptr, const void *p, int flags) +size_t ucs2_align(const void *base_ptr, const void *p, int flags) { if (flags & (STR_NOALIGN|STR_ASCII)) return 0; diff --git a/source3/lib/util_unistr.c b/source3/lib/util_unistr.c index 1fef6ab239..45f09da85b 100644 --- a/source3/lib/util_unistr.c +++ b/source3/lib/util_unistr.c @@ -319,6 +319,25 @@ int rpcstr_pull(char* dest, void *src, int dest_len, int src_len, int flags) return pull_ucs2(NULL, dest, src, dest_len, src_len, flags|STR_UNICODE|STR_NOALIGN); } +/* Copy a string from little-endian or big-endian unicode source (depending + * on flags) to internal samba format destination. Allocates on talloc ctx. + */ + +int rpcstr_pull_talloc(TALLOC_CTX *ctx, + char **dest, + void *src, + int src_len, + int flags) +{ + return pull_ucs2_base_talloc(ctx, + NULL, + dest, + src, + src_len, + flags|STR_UNICODE|STR_NOALIGN); + +} + /* Copy a string from a unistr2 source to internal samba format destination. Use this instead of direct calls to rpcstr_pull() to avoid having to determine whether the source string is null terminated. */ -- cgit From e68bbe3548df2400022a86af4681bcdf89481e9a Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Wed, 21 Nov 2007 10:10:52 -0800 Subject: Add set_sockaddr_port function for winbindd. Jeremy. (This used to be commit 4b47052694285a1d1d313dfd61bd17011d62948d) --- source3/lib/util_sock.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'source3/lib') diff --git a/source3/lib/util_sock.c b/source3/lib/util_sock.c index a59b1d5ef2..f1a6d826e0 100644 --- a/source3/lib/util_sock.c +++ b/source3/lib/util_sock.c @@ -627,6 +627,19 @@ static int get_socket_port(int fd) } #endif +void set_sockaddr_port(struct sockaddr_storage *psa, uint16 port) +{ +#if defined(HAVE_IPV6) + if (psa->ss_family == AF_INET6) { + ((struct sockaddr_in6 *)psa)->sin6_port = htons(port); + } +#else + if (psa->ss_family == AF_INET) { + ((struct sockaddr_in *)psa)->sin_port = htons(port); + } +#endif +} + const char *client_name(int fd) { return get_peer_name(fd,false); -- cgit From dc9237d231a39bbed988baa9371ceb785ba32665 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Wed, 21 Nov 2007 10:31:18 -0800 Subject: Doh ! Don't use #else when #endif is needed. Jeremy. (This used to be commit a04e916b89c901911ffc0a62e57a3ec87fe7ac28) --- source3/lib/util_sock.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'source3/lib') diff --git a/source3/lib/util_sock.c b/source3/lib/util_sock.c index f1a6d826e0..e49db340ae 100644 --- a/source3/lib/util_sock.c +++ b/source3/lib/util_sock.c @@ -633,11 +633,10 @@ void set_sockaddr_port(struct sockaddr_storage *psa, uint16 port) if (psa->ss_family == AF_INET6) { ((struct sockaddr_in6 *)psa)->sin6_port = htons(port); } -#else +#endif if (psa->ss_family == AF_INET) { ((struct sockaddr_in *)psa)->sin_port = htons(port); } -#endif } const char *client_name(int fd) -- cgit