summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDerrell Lipman <derrell.lipman@unwireduniverse.com>2009-02-23 13:50:11 -0500
committerDerrell Lipman <derrell.lipman@unwireduniverse.com>2009-02-23 13:50:25 -0500
commitcf7539abfb0f6e6956bed7a478e0cda6ab734674 (patch)
tree53dd1cc4a2c39be8bc98603a14e6ce7b2670d793
parentca24822234d9dc77dbe3f351d6dbab5558efac39 (diff)
downloadsamba-cf7539abfb0f6e6956bed7a478e0cda6ab734674.tar.gz
samba-cf7539abfb0f6e6956bed7a478e0cda6ab734674.tar.bz2
samba-cf7539abfb0f6e6956bed7a478e0cda6ab734674.zip
Make char* parameters const
- Use const in function signatures whenever appropriate, to help prevent errant scribbling on users' buffers. smbc_set_credentials() always acted as if its formal parameters were const char *, and changing the formal declaration to specify that should not cause any change to the ABI. It is still allowable to pass a writable buffer to a function which specifies that it will not write to the buffer. I'm making this change only in master. Derrell
-rw-r--r--source3/include/libsmbclient.h8
-rw-r--r--source3/libsmb/libsmb_context.c22
2 files changed, 10 insertions, 20 deletions
diff --git a/source3/include/libsmbclient.h b/source3/include/libsmbclient.h
index 8c642b1794..869aeb6a03 100644
--- a/source3/include/libsmbclient.h
+++ b/source3/include/libsmbclient.h
@@ -2677,11 +2677,11 @@ smbc_version(void);
*/
void
-smbc_set_credentials(char *workgroup,
- char *user,
- char *password,
+smbc_set_credentials(const char *workgroup,
+ const char *user,
+ const char *password,
smbc_bool use_kerberos,
- char *signing_state);
+ const char *signing_state);
/*
* Wrapper around smbc_set_credentials.
diff --git a/source3/libsmb/libsmb_context.c b/source3/libsmb/libsmb_context.c
index c7c9903b76..4c12d18ab7 100644
--- a/source3/libsmb/libsmb_context.c
+++ b/source3/libsmb/libsmb_context.c
@@ -630,11 +630,11 @@ smbc_version(void)
* Set the credentials so DFS will work when following referrals.
*/
void
-smbc_set_credentials(char *workgroup,
- char *user,
- char *password,
+smbc_set_credentials(const char *workgroup,
+ const char *user,
+ const char *password,
smbc_bool use_kerberos,
- char *signing_state)
+ const char *signing_state)
{
struct user_auth_info *auth_info;
@@ -681,18 +681,8 @@ void smbc_set_credentials_with_fallback(SMBCCTX *context,
signing_state = "force";
}
- /* Using CONST_DISCARD here is ugly, but
- * we know that smbc_set_credentials() doesn't
- * actually modify the strings, and should have
- * been const from the start. We're constrained
- * by the ABI here.
- */
-
- smbc_set_credentials(CONST_DISCARD(char *,workgroup),
- CONST_DISCARD(char *,user),
- CONST_DISCARD(char *,password),
- use_kerberos,
- CONST_DISCARD(char *,signing_state));
+ smbc_set_credentials(workgroup, user, password,
+ use_kerberos, signing_state);
if (smbc_getOptionFallbackAfterKerberos(context)) {
cli_cm_set_fallback_after_kerberos();