Example #1
0
def makeProtocolsLine(version=None):
    """Generate an appropriate [bridge-]server-descriptor 'protocols' line.

    :param str version: One of ``SERVER_VERSIONS``.
    :rtype: str
    :returns: An '@type [bridge-]server-descriptor' 'protocols' line.
    """
    line = b''
    if (version is not None) and torversions.shouldHaveOptPrefix(version):
        line += b'opt '
    line += b'protocols Link 1 2 Circuit 1'
    return line
Example #2
0
def makeProtocolsLine(version=None):
    """Generate an appropriate [bridge-]server-descriptor 'protocols' line.

    :param str version: One of ``SERVER_VERSIONS``.
    :rtype: str
    :returns: An '@type [bridge-]server-descriptor' 'protocols' line.
    """
    line = ''
    if (version is not None) and torversions.shouldHaveOptPrefix(version):
        line += 'opt '
    line += 'protocols Link 1 2 Circuit 1'
    return line
Example #3
0
def makeProtocolsLine(version=None):
    """Generate an appropriate ``[bridge-]server-descriptor`` ``protocols``
    line.

    :param str version: One of :data:`~leekspin.torversions.SERVER_VERSIONS`.
    :rtype: str
    :returns: An ``@type [bridge-]server-descriptor`` ``protocols`` line.
    """
    line = b''
    if (version is not None) and torversions.shouldHaveOptPrefix(version):
        line += b'opt '
    line += b'protocols Link 1 2 Circuit 1'
    return line
Example #4
0
def makeHSDirLine(version):
    """This line doesn't do much… all the cool kids are ``HSDir`` s these days.

    :param str version: One of :data:`~leekspin.torversions.SERVER_VERSIONS`.
    :rtype: str
    :returns: An ``@type [bridge-]server-descriptor`` ``hidden-service-dir``
        line.
    """
    line = b''
    if (version is not None) and torversions.shouldHaveOptPrefix(version):
        line += b'opt '
    line += b'hidden-service-dir'
    return line
Example #5
0
def makeHSDirLine(version):
    """This line doesn't do much… all the cool kids are HSDirs these days.

    :param string version: One of ``SERVER_VERSIONS``.
    :rtype: string
    :returns: An ``@type [bridge-]server-descriptor`` 'hidden-service-dir'
        line.
    """
    line = ''
    if (version is not None) and torversions.shouldHaveOptPrefix(version):
        line += 'opt '
    line += 'hidden-service-dir'
    return line
Example #6
0
def makeProtocolsLine(version=None):
    """Generate an appropriate ``[bridge-]server-descriptor`` ``protocols``
    line.

    :param str version: One of :data:`~leekspin.torversions.SERVER_VERSIONS`.
    :rtype: str
    :returns: An ``@type [bridge-]server-descriptor`` ``protocols`` line.
    """
    line = b''
    if (version is not None) and torversions.shouldHaveOptPrefix(version):
        line += b'opt '
    line += b'protocols Link 1 2 Circuit 1'
    return line
Example #7
0
def makeHSDirLine(version):
    """This line doesn't do much… all the cool kids are ``HSDir`` s these days.

    :param str version: One of :data:`~leekspin.torversions.SERVER_VERSIONS`.
    :rtype: str
    :returns: An ``@type [bridge-]server-descriptor`` ``hidden-service-dir``
        line.
    """
    line = b''
    if (version is not None) and torversions.shouldHaveOptPrefix(version):
        line += b'opt '
    line += b'hidden-service-dir'
    return line
Example #8
0
def makeExtraInfoDigestLine(hexdigest, version):
    """Create a line to embed the hex SHA-1 digest of the extrainfo.

    :param str hexdigest: Should be the hex-encoded (uppercase) output of
        the SHA-1 digest of the generated extrainfo document (this is the
        extra-info descriptor, just without the signature at the end). This is
        the same exact digest which gets signed by the OR server identity key,
        and that signature is appended to the extrainfo document to create the
        extra-info descriptor.
    :param str version: One of :data:`~leekspin.torversions.SERVER_VERSIONS`.
    :rtype: str
    :returns: An ``@type [bridge-]server-descriptor`` ``extra-info-digest``
        line.
    """
    line = b''
    if (version is not None) and torversions.shouldHaveOptPrefix(version):
        line += b'opt '
    line += b'extra-info-digest %s' % hexdigest
    return line
Example #9
0
def makeFingerprintLine(fingerprint, version=None):
    """Generate an appropriate [bridge-]server-descriptor 'fingerprint' line.

    For example, for tor-0.2.3.25 and prior versions, this would look like:
      |
      | opt fingerprint D4BB C339 2560 1B7F 226E 133B A85F 72AF E734 0B29
      |

    :param string fingerprint: A public key fingerprint in groups of four,
         separated by spaces.
    :param string version: One of ``SERVER_VERSIONS``.
    :rtype: string
    :returns: An '@type [bridge-]server-descriptor' 'published' line.
    """
    line = ''
    if (version is not None) and torversions.shouldHaveOptPrefix(version):
        line += 'opt '
    line += 'fingerprint %s' % crypto.convertToSpaceyFingerprint(fingerprint)
    return line
Example #10
0
def makeExtraInfoDigestLine(hexdigest, version):
    """Create a line to embed the hex SHA-1 digest of the extrainfo.

    :param string hexdigest: Should be the hex-encoded (uppercase) output of
        the SHA-1 digest of the generated extrainfo document (this is the
        extra-info descriptor, just without the signature at the end). This is
        the same exact digest which gets signed by the OR server identity key,
        and that signature is appended to the extrainfo document to create the
        extra-info descriptor.
    :param string version: One of ``SERVER_VERSIONS``.
    :rtype: string
    :returns: An ``@type [bridge-]server-descriptor`` 'extra-info-digest'
        line.
    """
    line = ''
    if (version is not None) and torversions.shouldHaveOptPrefix(version):
        line += 'opt '
    line += 'extra-info-digest %s' % hexdigest
    return line
Example #11
0
def makeFingerprintLine(fingerprint, version=None):
    """Generate an appropriate [bridge-]server-descriptor 'fingerprint' line.

    For example, for tor-0.2.3.25 and prior versions, this would look like:
      |
      | opt fingerprint D4BB C339 2560 1B7F 226E 133B A85F 72AF E734 0B29
      |

    :param string fingerprint: A public key fingerprint in groups of four,
         separated by spaces.
    :param string version: One of ``SERVER_VERSIONS``.
    :rtype: string
    :returns: An '@type [bridge-]server-descriptor' 'published' line.
    """
    line = b''
    if (version is not None) and torversions.shouldHaveOptPrefix(version):
        line += b'opt '
    line += b'fingerprint %s' % fingerprint
    return line
Example #12
0
def makeFingerprintLine(fingerprint, version=None):
    """Generate an appropriate ``[bridge-]server-descriptor`` ``fingerprint``
    line.

    For example, for tor-0.2.3.25 and prior versions, this would look like:
      |
      | opt fingerprint D4BB C339 2560 1B7F 226E 133B A85F 72AF E734 0B29
      |

    :param str fingerprint: A public key fingerprint in groups of four,
         separated by spaces.
    :param str version: One of :data:`~leekspin.torversions.SERVER_VERSIONS`.
    :rtype: str
    :returns: An ``@type [bridge-]server-descriptor`` ``fingerprint`` line.
    """
    line = b''
    if (version is not None) and torversions.shouldHaveOptPrefix(version):
        line += b'opt '
    line += b'fingerprint %s' % fingerprint
    return line