loudmouth/lm-sasl.c
changeset 571 6fb1c4046db7
parent 564 db3e9ff448cb
child 607 e2bd14357c9a
equal deleted inserted replaced
570:5588f29b0721 571:6fb1c4046db7
   252     encoded = lm_message_node_get_value (node);
   252     encoded = lm_message_node_get_value (node);
   253     if (encoded == NULL) {
   253     if (encoded == NULL) {
   254         input_buffer_desc.value = NULL;
   254         input_buffer_desc.value = NULL;
   255         input_buffer_desc.length = 0;
   255         input_buffer_desc.length = 0;
   256     } else {
   256     } else {
   257         input_buffer_desc.value = base64_decode (encoded,
   257         input_buffer_desc.value = g_base64_decode (encoded,
   258                                                  &input_buffer_desc.length);
   258                                                  &input_buffer_desc.length);
   259     }
   259     }
   260 
   260 
   261     input_buffer = &input_buffer_desc;
   261     input_buffer = &input_buffer_desc;
   262 
   262 
   314         major_status = gss_release_buffer (&minor_status, output_buffer);
   314         major_status = gss_release_buffer (&minor_status, output_buffer);
   315         if (major_status != GSS_S_COMPLETE) {
   315         if (major_status != GSS_S_COMPLETE) {
   316             return FALSE;
   316             return FALSE;
   317         }
   317         }
   318 
   318 
   319         input_buffer_desc.length = 4 + strlen(sasl->username);
   319         input_buffer_desc.length = 4 + strlen(lm_auth_parameters_get_username (sasl->auth_params));
   320         features = g_malloc (input_buffer_desc.length);
   320         features = g_malloc (input_buffer_desc.length);
   321 
   321 
   322         features[0] = 1;
   322         features[0] = 1;
   323         features[1] = 0xFF;
   323         features[1] = 0xFF;
   324         features[2] = 0xFF;
   324         features[2] = 0xFF;
   325         features[3] = 0xFF;
   325         features[3] = 0xFF;
   326         strcpy(features+4, sasl->username);
   326         strcpy(features+4, lm_auth_parameters_get_username (sasl->auth_params));
   327 
   327 
   328         input_buffer_desc.value = features;
   328         input_buffer_desc.value = features;
   329         major_status = gss_wrap (&minor_status, sasl->gss_ctx,
   329         major_status = gss_wrap (&minor_status, sasl->gss_ctx,
   330                                  0, /* Just integrity checking here */
   330                                  0, /* Just integrity checking here */
   331                                  GSS_C_QOP_DEFAULT,
   331                                  GSS_C_QOP_DEFAULT,