typedef struct stream Stream;
typedef struct stream* PStream;
-WINPR_API PStream PStream_Alloc(size_t size);
-WINPR_API void Stream_Alloc(PStream s, size_t size);
-WINPR_API void Stream_Realloc(PStream s, size_t size);
-WINPR_API PStream PStream_AllocAttach(BYTE* buffer, size_t size);
-WINPR_API void Stream_AllocAttach(PStream s, BYTE* buffer, size_t size);
-WINPR_API void PStream_Free(PStream s);
+WINPR_API PStream Stream_Alloc(size_t size);
+WINPR_API PStream Stream_AllocAttach(BYTE* buffer, size_t size);
+
WINPR_API void Stream_Free(PStream s);
-WINPR_API void PStream_FreeDetach(PStream s);
WINPR_API void Stream_FreeDetach(PStream s);
-WINPR_API void Stream_Attach(PStream s, BYTE* buffer, size_t size);
-WINPR_API void Stream_Detach(PStream s);
#define Stream_Read_UINT8(_s, _v) do { _v = \
*_s->pointer++; } while (0)
NTLM_NEGOTIATE_MESSAGE message;
ZeroMemory(&message, sizeof(message));
- s = PStream_AllocAttach(buffer->pvBuffer, buffer->cbBuffer);
+ s = Stream_AllocAttach(buffer->pvBuffer, buffer->cbBuffer);
ntlm_read_message_header(s, (NTLM_MESSAGE_HEADER*) &message);
if (!ntlm_validate_message_header(s, (NTLM_MESSAGE_HEADER*) &message, MESSAGE_TYPE_NEGOTIATE))
{
- PStream_FreeDetach(s);
+ Stream_FreeDetach(s);
return SEC_E_INVALID_TOKEN;
}
(message.NegotiateFlags & NTLMSSP_NEGOTIATE_ALWAYS_SIGN) &&
(message.NegotiateFlags & NTLMSSP_NEGOTIATE_UNICODE)))
{
- PStream_FreeDetach(s);
+ Stream_FreeDetach(s);
return SEC_E_INVALID_TOKEN;
}
context->state = NTLM_STATE_CHALLENGE;
- PStream_FreeDetach(s);
+ Stream_FreeDetach(s);
return SEC_I_CONTINUE_NEEDED;
}
NTLM_NEGOTIATE_MESSAGE message;
ZeroMemory(&message, sizeof(message));
- s = PStream_AllocAttach(buffer->pvBuffer, buffer->cbBuffer);
+ s = Stream_AllocAttach(buffer->pvBuffer, buffer->cbBuffer);
ntlm_populate_message_header((NTLM_MESSAGE_HEADER*) &message, MESSAGE_TYPE_NEGOTIATE);
context->state = NTLM_STATE_CHALLENGE;
- PStream_FreeDetach(s);
+ Stream_FreeDetach(s);
return SEC_I_CONTINUE_NEEDED;
}
ntlm_generate_client_challenge(context);
ZeroMemory(&message, sizeof(message));
- s = PStream_AllocAttach(buffer->pvBuffer, buffer->cbBuffer);
+ s = Stream_AllocAttach(buffer->pvBuffer, buffer->cbBuffer);
StartOffset = Stream_Pointer(s);
if (!ntlm_validate_message_header(s, (NTLM_MESSAGE_HEADER*) &message, MESSAGE_TYPE_CHALLENGE))
{
- PStream_FreeDetach(s);
+ Stream_FreeDetach(s);
return SEC_E_INVALID_TOKEN;
}
ntlm_free_message_fields_buffer(&(message.TargetName));
- PStream_FreeDetach(s);
+ Stream_FreeDetach(s);
return SEC_I_CONTINUE_NEEDED;
}
NTLM_CHALLENGE_MESSAGE message;
ZeroMemory(&message, sizeof(message));
- s = PStream_AllocAttach(buffer->pvBuffer, buffer->cbBuffer);
+ s = Stream_AllocAttach(buffer->pvBuffer, buffer->cbBuffer);
/* Version */
ntlm_get_version_info(&(message.Version));
context->state = NTLM_STATE_AUTHENTICATE;
- PStream_FreeDetach(s);
+ Stream_FreeDetach(s);
return SEC_I_CONTINUE_NEEDED;
}
AvFlags = NULL;
ZeroMemory(&message, sizeof(message));
- s = PStream_AllocAttach(buffer->pvBuffer, buffer->cbBuffer);
+ s = Stream_AllocAttach(buffer->pvBuffer, buffer->cbBuffer);
ntlm_read_message_header(s, (NTLM_MESSAGE_HEADER*) &message);
if (!ntlm_validate_message_header(s, (NTLM_MESSAGE_HEADER*) &message, MESSAGE_TYPE_AUTHENTICATE))
{
- PStream_FreeDetach(s);
+ Stream_FreeDetach(s);
return SEC_E_INVALID_TOKEN;
}
if (message.NtChallengeResponse.Len > 0)
{
- PStream s = PStream_AllocAttach(message.NtChallengeResponse.Buffer, message.NtChallengeResponse.Len);
+ PStream s = Stream_AllocAttach(message.NtChallengeResponse.Buffer, message.NtChallengeResponse.Len);
ntlm_read_ntlm_v2_response(s, &response);
- PStream_FreeDetach(s);
+ Stream_FreeDetach(s);
context->NtChallengeResponse.pvBuffer = message.NtChallengeResponse.Buffer;
context->NtChallengeResponse.cbBuffer = message.NtChallengeResponse.Len;
context->state = NTLM_STATE_FINAL;
- PStream_FreeDetach(s);
+ Stream_FreeDetach(s);
ntlm_free_message_fields_buffer(&(message.DomainName));
ntlm_free_message_fields_buffer(&(message.UserName));
NTLM_AUTHENTICATE_MESSAGE message;
ZeroMemory(&message, sizeof(message));
- s = PStream_AllocAttach(buffer->pvBuffer, buffer->cbBuffer);
+ s = Stream_AllocAttach(buffer->pvBuffer, buffer->cbBuffer);
if (context->NTLMv2)
{
context->state = NTLM_STATE_FINAL;
- PStream_FreeDetach(s);
+ Stream_FreeDetach(s);
return SEC_I_COMPLETE_NEEDED;
}
#include <winpr/crt.h>
#include <winpr/stream.h>
-PStream PStream_Alloc(size_t size)
+PStream Stream_Alloc(size_t size)
{
PStream s;
return s;
}
-void Stream_Alloc(PStream s, size_t size)
-{
- if (s != NULL)
- {
- if (size > 0)
- {
- s->buffer = (BYTE*) malloc(size);
- s->pointer = s->buffer;
- s->capacity = size;
- s->length = size;
- }
- else
- {
- ZeroMemory(s, sizeof(Stream));
- }
- }
-}
-
-void Stream_Realloc(PStream s, size_t size)
-{
- if (s != NULL)
- {
- if (size > 0)
- {
- size_t old_size;
- size_t offset_p;
-
- old_size = s->capacity;
- offset_p = s->pointer - s->buffer;
-
- s->buffer = (BYTE*) realloc(s->buffer, size);
- s->capacity = size;
-
- if (old_size <= size)
- s->pointer = s->buffer + offset_p;
- else
- s->pointer = s->buffer;
- }
- else
- {
- if (s->capacity > 0)
- free(s->buffer);
-
- ZeroMemory(s, sizeof(Stream));
- }
- }
-}
-
-PStream PStream_AllocAttach(BYTE* buffer, size_t size)
+PStream Stream_AllocAttach(BYTE* buffer, size_t size)
{
PStream s;
return s;
}
-void Stream_AllocAttach(PStream s, BYTE* buffer, size_t size)
-{
- if (s != NULL)
- {
- s->buffer = buffer;
- s->pointer = s->buffer;
- s->capacity = size;
- s->length = size;
- }
-}
-
-void PStream_Free(PStream s)
-{
- if (s != NULL)
- {
- if (s->buffer != NULL)
- free(s->buffer);
-
- free(s);
- }
-}
-
void Stream_Free(PStream s)
{
if (s != NULL)
{
if (s->buffer != NULL)
free(s->buffer);
- }
-}
-void PStream_FreeDetach(PStream s)
-{
- if (s != NULL)
- {
- s->buffer = NULL;
- s->pointer = s->buffer;
- s->capacity = 0;
- s->length = 0;
free(s);
}
}
s->pointer = s->buffer;
s->capacity = 0;
s->length = 0;
- }
-}
-
-void Stream_Attach(PStream s, BYTE* buffer, size_t size)
-{
- if (s != NULL)
- {
- s->buffer = buffer;
- s->pointer = s->buffer;
- s->capacity = size;
- s->length = size;
- }
-}
-
-void Stream_Detach(PStream s)
-{
- if (s != NULL)
- {
- s->buffer = NULL;
- s->pointer = s->buffer;
- s->capacity = 0;
- s->length = 0;
+ free(s);
}
}