Skip to content

OpenSSL 3.0.0: Make ssl_data.h version specific #87954

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
tiran opened this issue Apr 9, 2021 · 4 comments
Closed

OpenSSL 3.0.0: Make ssl_data.h version specific #87954

tiran opened this issue Apr 9, 2021 · 4 comments
Assignees
Labels
3.8 (EOL) end of life 3.9 only security fixes 3.10 only security fixes topic-SSL type-feature A feature request or enhancement

Comments

@tiran
Copy link
Member

tiran commented Apr 9, 2021

BPO 43788
Nosy @tiran, @miss-islington
PRs
  • bpo-43788: Generate version specific _ssl_data.h #25300
  • [3.9] bpo-43788: Generate version specific _ssl_data.h (GH-25300) (GH-25310) #25310
  • [3.8] bpo-43788: Generate version specific _ssl_data.h (GH-25300) (GH-25311) #25311
  • Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

    Show more details

    GitHub fields:

    assignee = 'https://github.com/tiran'
    closed_at = <Date 2021-04-09.15:16:12.848>
    created_at = <Date 2021-04-09.10:04:48.456>
    labels = ['expert-SSL', 'type-feature', '3.8', '3.9', '3.10']
    title = 'OpenSSL 3.0.0: Make ssl_data.h version specific'
    updated_at = <Date 2021-04-09.16:34:58.078>
    user = 'https://github.com/tiran'

    bugs.python.org fields:

    activity = <Date 2021-04-09.16:34:58.078>
    actor = 'christian.heimes'
    assignee = 'christian.heimes'
    closed = True
    closed_date = <Date 2021-04-09.15:16:12.848>
    closer = 'christian.heimes'
    components = ['SSL']
    creation = <Date 2021-04-09.10:04:48.456>
    creator = 'christian.heimes'
    dependencies = []
    files = []
    hgrepos = []
    issue_num = 43788
    keywords = ['patch']
    message_count = 4.0
    messages = ['390603', '390636', '390645', '390646']
    nosy_count = 2.0
    nosy_names = ['christian.heimes', 'miss-islington']
    pr_nums = ['25300', '25310', '25311']
    priority = 'normal'
    resolution = 'fixed'
    stage = 'resolved'
    status = 'closed'
    superseder = None
    type = 'enhancement'
    url = 'https://bugs.python.org/issue43788'
    versions = ['Python 3.8', 'Python 3.9', 'Python 3.10']

    @tiran
    Copy link
    Member Author

    tiran commented Apr 9, 2021

    _ssl_data.h contains static tables with OpenSSL error names and reasons. The stables are created by scrapping header files. The current approach has two issues:

    • error codes are version dependent. OpenSSL 1.1.1 uses different codes and has a different set of error reasons as 3.0.0.
    • parsing header files with regular expressions is err-prone.

    I'm going to introduce version-specific data tables and re-write the current make_ssl_data.py script to use OpenSSL's crypto/err/openssl.txt and crypto/err/openssl.ec. The text files exist since OpenSSL 1.1.

    @tiran tiran added 3.8 (EOL) end of life 3.9 only security fixes 3.10 only security fixes labels Apr 9, 2021
    @tiran tiran self-assigned this Apr 9, 2021
    @tiran tiran added 3.8 (EOL) end of life topic-SSL 3.9 only security fixes type-feature A feature request or enhancement 3.10 only security fixes labels Apr 9, 2021
    @tiran tiran self-assigned this Apr 9, 2021
    @tiran tiran added topic-SSL type-feature A feature request or enhancement labels Apr 9, 2021
    @miss-islington
    Copy link
    Contributor

    New changeset 150af75 by Christian Heimes in branch 'master':
    bpo-43788: Generate version specific _ssl_data.h (GH-25300)
    150af75

    @tiran tiran closed this as completed Apr 9, 2021
    @tiran tiran changed the title Make ssl_data.h version specific OpenSSL 3.0.0: Make ssl_data.h version specific Apr 9, 2021
    @tiran tiran closed this as completed Apr 9, 2021
    @tiran tiran changed the title Make ssl_data.h version specific OpenSSL 3.0.0: Make ssl_data.h version specific Apr 9, 2021
    @tiran
    Copy link
    Member Author

    tiran commented Apr 9, 2021

    New changeset 299ae9c by Christian Heimes in branch '3.9':
    [3.9] bpo-43788: Generate version specific _ssl_data.h (GH-25300) (GH-25310)
    299ae9c

    @tiran
    Copy link
    Member Author

    tiran commented Apr 9, 2021

    New changeset 70f2ca7 by Christian Heimes in branch '3.8':
    [3.8] bpo-43788: Generate version specific _ssl_data.h (GH-25300) (GH-25311)
    70f2ca7

    @ezio-melotti ezio-melotti transferred this issue from another repository Apr 10, 2022
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    3.8 (EOL) end of life 3.9 only security fixes 3.10 only security fixes topic-SSL type-feature A feature request or enhancement
    Projects
    None yet
    Development

    No branches or pull requests

    2 participants