Skip to content

Commit aca4cd7

Browse files
committed
add security.md
1 parent fddbc42 commit aca4cd7

File tree

2 files changed

+34
-32
lines changed

2 files changed

+34
-32
lines changed

SECURITY.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Security Policy
2+
3+
## Reporting a Vulnerability
4+
5+
All IPython and Jupyter security are handled via [email protected].
6+
You can find more information on the Jupyter website. https://jupyter.org/security
7+
8+
## Tidelift
9+
10+
You can report security concerns for Jupyter COnsole via the [Tidelift platform](https://tidelift.com/security).

jupyter_console/ptshell.py

Lines changed: 24 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -4,40 +4,32 @@
44
import asyncio
55
import base64
66
import errno
7-
from getpass import getpass
8-
from io import BytesIO
7+
import inspect
98
import os
10-
from queue import Empty
119
import signal
1210
import subprocess
1311
import sys
14-
from tempfile import TemporaryDirectory
1512
import time
13+
from getpass import getpass
14+
from io import BytesIO
15+
from queue import Empty
16+
from tempfile import TemporaryDirectory
17+
from typing import Any as AnyType
18+
from typing import Dict as DictType
1619
from warnings import warn
1720

18-
from typing import Dict as DictType, Any as AnyType
19-
20-
from zmq import ZMQError
2121
from IPython.core import page
22-
from traitlets import (
23-
Bool,
24-
Integer,
25-
Float,
26-
Unicode,
27-
List,
28-
Dict,
29-
Enum,
30-
Instance,
31-
Any,
32-
)
22+
23+
# Discriminate version3 for asyncio
24+
from prompt_toolkit import __version__ as ptk_version
25+
from traitlets import Any, Bool, Dict, Enum, Float, Instance, Integer, List, Unicode
3326
from traitlets.config import SingletonConfigurable
27+
from zmq import ZMQError
3428

29+
from . import __version__
3530
from .completer import ZMQCompleter
3631
from .zmqhistory import ZMQHistoryManager
37-
from . import __version__
3832

39-
# Discriminate version3 for asyncio
40-
from prompt_toolkit import __version__ as ptk_version
4133
PTK3 = ptk_version.startswith('3.')
4234

4335
if not PTK3:
@@ -49,34 +41,33 @@
4941
from prompt_toolkit.enums import DEFAULT_BUFFER, EditingMode
5042
from prompt_toolkit.filters import (
5143
Condition,
44+
emacs_insert_mode,
5245
has_focus,
5346
has_selection,
54-
vi_insert_mode,
55-
emacs_insert_mode,
5647
is_done,
48+
vi_insert_mode,
5749
)
50+
from prompt_toolkit.formatted_text import PygmentsTokens
5851
from prompt_toolkit.history import InMemoryHistory
59-
from prompt_toolkit.shortcuts.prompt import PromptSession
60-
from prompt_toolkit.shortcuts import print_formatted_text, CompleteStyle
6152
from prompt_toolkit.key_binding import KeyBindings
62-
from prompt_toolkit.lexers import PygmentsLexer
6353
from prompt_toolkit.layout.processors import (
6454
ConditionalProcessor,
6555
HighlightMatchingBracketProcessor,
6656
)
57+
from prompt_toolkit.lexers import PygmentsLexer
58+
from prompt_toolkit.output import ColorDepth
59+
from prompt_toolkit.shortcuts import CompleteStyle, print_formatted_text
60+
from prompt_toolkit.shortcuts.prompt import PromptSession
6761
from prompt_toolkit.styles import merge_styles
6862
from prompt_toolkit.styles.pygments import (style_from_pygments_cls,
6963
style_from_pygments_dict)
70-
from prompt_toolkit.formatted_text import PygmentsTokens
71-
from prompt_toolkit.output import ColorDepth
7264
from prompt_toolkit.utils import suspend_to_background_supported
73-
74-
from pygments.styles import get_style_by_name
7565
from pygments.lexers import get_lexer_by_name
76-
from pygments.util import ClassNotFound
66+
from pygments.styles import get_style_by_name
7767
from pygments.token import Token
68+
from pygments.util import ClassNotFound
7869

79-
from jupyter_console.utils import run_sync, ensure_async
70+
from jupyter_console.utils import ensure_async, run_sync
8071

8172

8273
def ask_yes_no(prompt, default=None, interrupt=None):
@@ -329,6 +320,7 @@ class ZMQTerminalInteractiveShell(SingletonConfigurable):
329320
client = Instance("jupyter_client.KernelClient", allow_none=True)
330321

331322
def _client_changed(self, name, old, new):
323+
assert inspect.iscoroutinefunction(new.shell_channel.get_msg), new.shell_channel
332324
self.session_id = new.session.session
333325
session_id = Unicode()
334326

0 commit comments

Comments
 (0)