File: sasl_encodev.rst.txt

package info (click to toggle)
cyrus-sasl2 2.1.27%2Bdfsg-2.1%2Bdeb11u1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 19,940 kB
  • sloc: ansic: 58,942; javascript: 8,745; sh: 4,843; java: 1,614; xml: 1,498; makefile: 1,265; python: 342; perl: 199
file content (81 lines) | stat: -rw-r--r-- 2,310 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
.. saslman:: sasl_encodev(3)

.. _sasl-reference-manpages-library-sasl_encodev:


==================================================================
**sasl_encodev** - Encode data for transport to authenticated host
==================================================================

Synopsis
========

.. code-block:: C

    #include <sasl/sasl.h>

    int sasl_encode(sasl_conn_t *conn,
                    const char * input,
                    unsigned inputlen,
                    const char ** output,
                    unsigned * outputlen);

    int sasl_encodev(sasl_conn_t *conn,
                    const struct iovec * invec,
                    unsigned numiov,
                    const char ** output,
                    unsigned * outputlen);


Description
===========

**sasl_encode** encodes data to be sent to be sent to a remote host  who  we’ve
had  a successful authentication session with. If there  is  a  negotiated
security  the  data  in signed/encrypted  and  the  output  should be sent
without modification to the remote host. If there is  no  security layer the
output is identical to the input.

**sasl_encodev** does the same, but for a `struct iovec` instead
of a character buffer.

.. c:function:: int sasl_encode(sasl_conn_t *conn,
            const char * input,
            unsigned inputlen,
            const char ** output,
            unsigned * outputlen);

    :param conn: is the SASL connection context

    :param output: contains the decoded data and is allocated/freed by
        the library.

    :param outputlen: length of `output`.

    .. c:function:: int sasl_encodev(sasl_conn_t *conn,
                const struct iovec * invec,
                unsigned numiov,
                const char ** output,
                unsigned * outputlen);

    :param conn: is the SASL connection context

    :param output: contains the decoded data and is allocated/freed by
        the library.

    :param outputlen: length of `output`.


Return Value
============

SASL  callback  functions should return SASL return codes.
See sasl.h for a complete list. :c:macro:`SASL_OK` indicates success.

Other return codes indicate errors and should be handled.

See Also
========

:rfc:`4422`,:saslman:`sasl(3)`, :saslman:`sasl_decode(3)`,
:saslman:`sasl_errors(3)`