~ubuntu-branches/ubuntu/precise/wine1.3/precise

« back to all changes in this revision

Viewing changes to dlls/secur32/schannel_gnutls.c

  • Committer: Package Import Robot
  • Author(s): Scott Ritchie
  • Date: 2012-01-17 09:00:34 UTC
  • mfrom: (1.1.2)
  • Revision ID: package-import@ubuntu.com-20120117090034-eyhpp02jawlvrrkc
Tags: 1.3.37-0ubuntu1
* New upstream release
  - Many changes
* Convert to 3.0 source format
* debian/control:
  - Remove pre-multiarch amd64 build depends
  - Remove quilt build depends
  - Recommend proper gecko versions
* debian/rules:
  - Remove manual dh_quilt patch and unpatch
  - No need to uuencode/uudecode anymore with new source format

Show diffs side-by-side

added added

removed removed

Lines of Context:
62
62
MAKE_FUNCPTR(gnutls_perror);
63
63
MAKE_FUNCPTR(gnutls_protocol_get_version);
64
64
MAKE_FUNCPTR(gnutls_set_default_priority);
 
65
MAKE_FUNCPTR(gnutls_record_get_max_size);
65
66
MAKE_FUNCPTR(gnutls_record_recv);
66
67
MAKE_FUNCPTR(gnutls_record_send);
 
68
MAKE_FUNCPTR(gnutls_transport_get_ptr);
67
69
MAKE_FUNCPTR(gnutls_transport_set_errno);
68
70
MAKE_FUNCPTR(gnutls_transport_set_ptr);
69
71
MAKE_FUNCPTR(gnutls_transport_set_pull_function);
289
291
    return schannel_get_cipher_block_size(cipher);
290
292
}
291
293
 
 
294
unsigned int schan_imp_get_max_message_size(schan_imp_session session)
 
295
{
 
296
    return pgnutls_record_get_max_size((gnutls_session_t)session);
 
297
}
 
298
 
292
299
SECURITY_STATUS schan_imp_get_connection_info(schan_imp_session session,
293
300
                                              SecPkgContext_ConnectionInfo *info)
294
301
{
334
341
                               SIZE_T *length)
335
342
{
336
343
    gnutls_session_t s = (gnutls_session_t)session;
337
 
    ssize_t ret = pgnutls_record_send(s, buffer, *length);
 
344
    ssize_t ret;
 
345
 
 
346
again:
 
347
    ret = pgnutls_record_send(s, buffer, *length);
 
348
 
338
349
    if (ret >= 0)
339
350
        *length = ret;
340
351
    else if (ret == GNUTLS_E_AGAIN)
 
352
    {
 
353
        struct schan_transport *t = (struct schan_transport *)pgnutls_transport_get_ptr(s);
 
354
        SIZE_T count = 0;
 
355
 
 
356
        if (schan_get_buffer(t, &t->out, &count))
 
357
            goto again;
 
358
 
341
359
        return SEC_I_CONTINUE_NEEDED;
 
360
    }
342
361
    else
343
362
    {
344
363
        pgnutls_perror(ret);
352
371
                               SIZE_T *length)
353
372
{
354
373
    gnutls_session_t s = (gnutls_session_t)session;
355
 
    ssize_t ret = pgnutls_record_recv(s, buffer, *length);
 
374
    ssize_t ret;
 
375
 
 
376
again:
 
377
    ret = pgnutls_record_recv(s, buffer, *length);
 
378
 
356
379
    if (ret >= 0)
357
380
        *length = ret;
358
381
    else if (ret == GNUTLS_E_AGAIN)
 
382
    {
 
383
        struct schan_transport *t = (struct schan_transport *)pgnutls_transport_get_ptr(s);
 
384
        SIZE_T count = 0;
 
385
 
 
386
        if (schan_get_buffer(t, &t->in, &count))
 
387
            goto again;
 
388
 
359
389
        return SEC_I_CONTINUE_NEEDED;
 
390
    }
360
391
    else
361
392
    {
362
393
        pgnutls_perror(ret);
423
454
    LOAD_FUNCPTR(gnutls_perror)
424
455
    LOAD_FUNCPTR(gnutls_protocol_get_version)
425
456
    LOAD_FUNCPTR(gnutls_set_default_priority)
 
457
    LOAD_FUNCPTR(gnutls_record_get_max_size);
426
458
    LOAD_FUNCPTR(gnutls_record_recv);
427
459
    LOAD_FUNCPTR(gnutls_record_send);
 
460
    LOAD_FUNCPTR(gnutls_transport_get_ptr)
428
461
    LOAD_FUNCPTR(gnutls_transport_set_errno)
429
462
    LOAD_FUNCPTR(gnutls_transport_set_ptr)
430
463
    LOAD_FUNCPTR(gnutls_transport_set_pull_function)