Skip to content
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

PEP 3121, 384 Refactoring applied to ssl module #59875

Closed
RobinSchreiber mannequin opened this issue Aug 15, 2012 · 6 comments
Closed

PEP 3121, 384 Refactoring applied to ssl module #59875

RobinSchreiber mannequin opened this issue Aug 15, 2012 · 6 comments
Labels
3.8 only security fixes extension-modules C modules in the Modules dir performance Performance or resource usage topic-SSL

Comments

@RobinSchreiber
Copy link
Mannequin

RobinSchreiber mannequin commented Aug 15, 2012

BPO 15670
Nosy @pitrou, @vstinner, @tiran, @alex, @asvetlov, @dstufft
Superseder
  • bpo-42333: Port ssl module to heap types and module state (PEP 573)
  • Files
  • _ssl_pep3121-384_v0.patch
  • 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 = None
    closed_at = <Date 2020-11-19.14:04:14.196>
    created_at = <Date 2012-08-15.14:30:29.010>
    labels = ['extension-modules', 'expert-SSL', '3.8', 'performance']
    title = 'PEP 3121, 384 Refactoring applied to ssl module'
    updated_at = <Date 2020-11-19.14:04:14.195>
    user = 'https://bugs.python.org/RobinSchreiber'

    bugs.python.org fields:

    activity = <Date 2020-11-19.14:04:14.195>
    actor = 'vstinner'
    assignee = 'none'
    closed = True
    closed_date = <Date 2020-11-19.14:04:14.196>
    closer = 'vstinner'
    components = ['Extension Modules', 'SSL']
    creation = <Date 2012-08-15.14:30:29.010>
    creator = 'Robin.Schreiber'
    dependencies = []
    files = ['26830']
    hgrepos = []
    issue_num = 15670
    keywords = ['pep3121']
    message_count = 6.0
    messages = ['168300', '301617', '301686', '301695', '321540', '381418']
    nosy_count = 8.0
    nosy_names = ['janssen', 'pitrou', 'vstinner', 'christian.heimes', 'alex', 'asvetlov', 'Robin.Schreiber', 'dstufft']
    pr_nums = []
    priority = 'normal'
    resolution = 'duplicate'
    stage = 'resolved'
    status = 'closed'
    superseder = '42333'
    type = 'resource usage'
    url = 'https://bugs.python.org/issue15670'
    versions = ['Python 3.8']

    @RobinSchreiber
    Copy link
    Mannequin Author

    RobinSchreiber mannequin commented Aug 15, 2012

    Changes proposed in PEP-3121 and PEP-384 have now been applied to the ssl module!

    @RobinSchreiber RobinSchreiber mannequin added extension-modules C modules in the Modules dir performance Performance or resource usage labels Aug 15, 2012
    @tiran tiran added 3.7 (EOL) end of life topic-SSL labels Sep 8, 2016
    @tiran tiran self-assigned this Sep 15, 2016
    @tiran
    Copy link
    Member

    tiran commented Sep 7, 2017

    Is anybody interested to port Robin's patch to 3.7?

    @tiran tiran added the easy label Sep 7, 2017
    @tiran tiran removed their assignment Sep 7, 2017
    @asvetlov
    Copy link
    Contributor

    asvetlov commented Sep 8, 2017

    The patch consists from two changes: replacing static vars with module state and using slot based way for constructing classes.

    The first change is obvious but I not sure if we need second transformation.

    @pitrou
    Copy link
    Member

    pitrou commented Sep 8, 2017

    PyType_FromSpec provides a rather neat way to initialize C extension types. However, there are a couple of pitfalls to look out for:

    https://bugs.python.org/issue16690
    https://bugs.python.org/issue26979

    @tiran tiran added 3.8 only security fixes and removed 3.7 (EOL) end of life labels Feb 26, 2018
    @vstinner
    Copy link
    Member

    Honestly, the ssl module is complex, and the conversion to PEP-3121 and PEP-384 are not straighforward, so I removed the "easy (C)" keyword.

    @vstinner vstinner removed the easy label Jul 12, 2018
    @vstinner
    Copy link
    Member

    Marked as a duplicate of bpo-42333.

    See also bpo-41111 "Convert a few stdlib extensions to the limited C API (PEP-384)".

    @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 only security fixes extension-modules C modules in the Modules dir performance Performance or resource usage topic-SSL
    Projects
    None yet
    Development

    No branches or pull requests

    4 participants