The branch, master has been updated via e551cdb winbind: Fix 100% loop via 16c14ae s3:smb2_create: #if 0 unused variable from e6c234d Move the error handling for svhdx to vfswrap_create to give VFS module writers a chance to handle RSVD opens if they want to.
https://git.samba.org/?p=samba.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit e551cdb37d3e8cfb155bc33f9b162761c8d60889 Author: Volker Lendecke <v...@samba.org> Date: Fri Aug 28 12:33:13 2015 +0200 winbind: Fix 100% loop Thanks to "L.P.H. van Belle" <be...@bazuin.nl> for help in reproducing the issue. BUG: https://bugzilla.samba.org/show_bug.cgi?id=11038 Signed-off-by: Volker Lendecke <v...@samba.org> Reviewed-by: Alexander Bokovoy <a...@samba.org> Autobuild-User(master): Jeremy Allison <j...@samba.org> Autobuild-Date(master): Fri Aug 28 22:03:31 CEST 2015 on sn-devel-104 commit 16c14aef2a6dfd9cdcc6d86d55e1ea008505d6d8 Author: Stefan Metzmacher <me...@samba.org> Date: Fri Aug 28 14:16:14 2015 +0200 s3:smb2_create: #if 0 unused variable This fixes the build on ubuntu 14.04, which failed like this: [2852/3952] Compiling source3/smbd/smb2_create.c ../source3/smbd/smb2_create.c: In function ‘smbd_smb2_create_send’: ../source3/smbd/smb2_create.c:678:28: error: variable ‘svhdx’ set but not used [-Werror=unused-but-set-variable] struct smb2_create_blob *svhdx = NULL; Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> ----------------------------------------------------------------------- Summary of changes: source3/libads/kerberos.c | 16 ++++++++++++++++ source3/smbd/smb2_create.c | 4 ++++ 2 files changed, 20 insertions(+) Changeset truncated at 500 lines: diff --git a/source3/libads/kerberos.c b/source3/libads/kerberos.c index e4bad74..7fe864b 100644 --- a/source3/libads/kerberos.c +++ b/source3/libads/kerberos.c @@ -48,6 +48,22 @@ kerb_prompter(krb5_context ctx, void *data, { if (num_prompts == 0) return 0; + if ((num_prompts == 2) && + (prompts[0].type == KRB5_PROMPT_TYPE_NEW_PASSWORD) && + (prompts[1].type == KRB5_PROMPT_TYPE_NEW_PASSWORD_AGAIN)) { + /* + * We don't want to change passwords here. We're + * called from heimal when the KDC returns + * KRB5KDC_ERR_KEY_EXPIRED, but at this point we don't + * have the chance to ask the user for a new + * password. If we return 0 (i.e. success), we will be + * spinning in the endless for-loop in + * change_password() in + * source4/heimdal/lib/krb5/init_creds_pw.c:526ff + */ + return KRB5KDC_ERR_KEY_EXPIRED; + } + memset(prompts[0].reply->data, '\0', prompts[0].reply->length); if (prompts[0].reply->length > 0) { if (data) { diff --git a/source3/smbd/smb2_create.c b/source3/smbd/smb2_create.c index 9f14544..e151e96 100644 --- a/source3/smbd/smb2_create.c +++ b/source3/smbd/smb2_create.c @@ -675,7 +675,9 @@ static struct tevent_req *smbd_smb2_create_send(TALLOC_CTX *mem_ctx, struct smb2_lease lease; struct smb2_lease *lease_ptr = NULL; ssize_t lease_len = -1; +#if 0 struct smb2_create_blob *svhdx = NULL; +#endif exta = smb2_create_blob_find(&in_context_blobs, SMB2_CREATE_TAG_EXTA); @@ -689,6 +691,7 @@ static struct tevent_req *smbd_smb2_create_send(TALLOC_CTX *mem_ctx, SMB2_CREATE_TAG_TWRP); qfid = smb2_create_blob_find(&in_context_blobs, SMB2_CREATE_TAG_QFID); +#if 0 if (smb2req->xconn->protocol >= PROTOCOL_SMB3_02) { /* * This was introduced with SMB3_02 @@ -696,6 +699,7 @@ static struct tevent_req *smbd_smb2_create_send(TALLOC_CTX *mem_ctx, svhdx = smb2_create_blob_find(&in_context_blobs, SVHDX_OPEN_DEVICE_CONTEXT); } +#endif fname = talloc_strdup(state, in_name); if (tevent_req_nomem(fname, req)) { -- Samba Shared Repository