##// END OF EJS Templates
Clear filter
Show hidden
Commit Message Age Author Refs
load previous
r28106:2a5fdf9d
back to dev
Matthias Bussonnier
0
r28105:15ea1ed5
release 8.10.0
Matthias Bussonnier
0
r28104:560ad109
DOC: Update what's new for 8.10 (#13939)
Matthias Bussonnier
merge
0
r28103:7557ade0
DOC: Update what's new for 8.10
Matthias Bussonnier
0
r28102:385d6932
Merge pull request from GHSA-29gw-9793-fvw7 Fix CVE-2023-24816
Matthias Bussonnier
merge
0
r28101:e548ee23
Swallow potential exceptions from showtraceback() (#13934) The nbgrader project is aware of a form of cheating where students disrupt `InteractiveShell.showtraceback` in hopes of hiding exceptions to avoid losing points. They have implemented a solution to prevent this cheating from working on the client side, and have some tests to demonstrate this technique: https://github.com/jupyter/nbgrader/blob/main/nbgrader/tests/apps/files/submitted-cheat-attempt.ipynb https://github.com/jupyter/nbgrader/blob/main/nbgrader/tests/apps/files/submitted-cheat-attempt-alternative.ipynb In essence, these attacks import the interactive shell and erase the traceback handler so that their failing tests won't report failures. ```python import IPython.core.interactiveshell IPython.core.interactiveshell.InteractiveShell.showtraceback = None ``` The problem is that this causes an exception inside the kernel, leading to a stalled execution. The kernel has stopped working, but the client continues to wait for messages. So far, nbgrader's solution to this is to require a timeout value so the client can eventually decide it is done. This prevents allowing a value of `None` for `Execute.timeout` because this would cause a test case to infinitely hang. This commit addresses the problem by making `InteractiveShell._run_cell` a little more protective around it's call to `showtraceback()`. There is already a try/except block around running the cell. This commit adds a finally clause so that the method will _always_ return an `ExecutionResult`, even if a new exception is thrown within the except clause. For the record, the exception thrown is: TypeError: 'NoneType' object is not callable Accepting this change will allow nbgrader to update `nbgrader.preprocessors.Execute` to support a type of `Integer(allow_none=True)` as the parent `NotebookClient` intended. Discussion about this is ongoing in jupyter/nbgrader#1690.
Matthias Bussonnier
merge
0
r28100:0694b08b
MAINT: mock slowest test. (#13885) The slowest test of our CI is ~3sec as it use subprocess os/system. Mocking make it instantaneous. With our big elements matrix in CI that should save us a bunch of time in total from PR submission to green.
Matthias Bussonnier
merge
0
r28099:4ef3c399
Fix re-use of old keys/filters, increase test coverage
krassowski
0
r28098:86559125
MAINT: mock slowest test. The slowest test of our CI is ~3sec as it use subprocess os/system. Mocking make it instantaneous. With our big elements matrix in CI that should save us a bunch of time in total from PR submission to green.
Matthias Bussonnier
0
r28097:23a83242
Fix configuration before initialization
krassowski
0
r28096:a011765b
Isolate the attack tests with setUp and tearDown methods
Jacob Evan Shreve
0
r28095:c7a9470e
Add some regression tests for this change
Jacob Evan Shreve
0
r28094:fd34cf5f
Swallow potential exceptions from showtraceback() The nbgrader project is aware of a form of cheating where students disrupt `InteractiveShell.showtraceback` in hopes of hiding exceptions to avoid losing points. They have implemented a solution to prevent this cheating from working on the client side, and have some tests to demonstrate this technique: https://github.com/jupyter/nbgrader/blob/main/nbgrader/tests/apps/files/submitted-cheat-attempt.ipynb https://github.com/jupyter/nbgrader/blob/main/nbgrader/tests/apps/files/submitted-cheat-attempt-alternative.ipynb In essence, these attacks import the interactive shell and erase the traceback handler so that their failing tests won't report failures. import IPython.core.interactiveshell IPython.core.interactiveshell.InteractiveShell.showtraceback = None The problem is that this causes an exception inside the kernel, leading to a stalled execution. The kernel has stopped working, but the client continues to wait for messages. So far, nbgrader's solution to this is to require a timeout value so the client can eventually decide it is done. This prevents allowing a value of `None` for `Execute.timeout` because this would cause a test case to infinitely hang. This commit addresses the problem by making `InteractiveShell._run_cell` a little more protective around it's call to `showtraceback()`. There is already a try/except block around running the cell. This commit adds a finally clause so that the method will _always_ return an `ExecutionResult`, even if a new exception is thrown within the except clause. For the record, the exception thrown is: TypeError: 'NoneType' object is not callable Accepting this change will allow nbgrader to update `nbgrader.preprocessors.Execute` to support a type of `Integer(allow_none=True)` as the parent `NotebookClient` intended. Discussion about this is ongoing in jupyter/nbgrader#1690.
Jacob Evan Shreve
0
r28093:7dab272e
MAINT: fix typing mypy 1.0 (#13933)
Matthias Bussonnier
merge
0
r28092:28f28d56
Replace usage of os.devnull with subprocess.DEVNULL (#13932) Refactoring one file in the latex library Closes https://github.com/ipython/ipython/issues/13906 # Code changes Replaced one occurence of `open(os.devnull)` with using directly the `subprocess.DEVNULL` special value, removing a with/open block along the way. # User-facing changes None
Matthias Bussonnier
merge
0
r28091:33fde841
MAINT: fix typing mypy 1.0
Matthias Bussonnier
0
r28090:eccb95c2
Replace usage of os.devnull with subprocess.DEVNULL
Yann Pellegrini
0
r28089:991849c2
Fix CVE-2023-24816 by removing legacy code. Remove legacy code that might trigger a CVE. Currently set_term_title is only called with (semi-)trusted input that contain the current working directory of the current IPython session. If an attacker can control directory names, and manage to get a user cd into this directory the attacker can execute arbitrary commands contained in the folder names. Example: - On a windows machine where python is built without _ctypes, create a folder called && echo "pwn" > pwn.txt. This can be done by for example cloning a git repository. - call toggled_set_term_title(True), (or have the preference to true) - Open IPython and cd into this directory. - the folder now contain a pwn.txt, with pwn as content, despite the user not asking for any code execution. Workaround: Set the configuration option c.TerminalInteractiveShell.term_title_format='IPython' (or to any other fixed, safe string).
Konstantin Weddige
0
r28088:56e6925d
NEP 29, bump min numpy version (#13930)
Matthias Bussonnier
merge
0
r28085:a478e662
Ignore `.ipynb_checkpoints` when building docs (#13929) This is a small thing - when editing the docs from JupyterLab Desktop, any file opened will leave `.ipynb_checkpoints` temp directory. Editing documentation in Jupyter itself is quite common especially when using spinx-myst and it is convenient enough for me, but without this change Sphinx errors out on every other build.
Matthias Bussonnier
merge
0
load next
< 1 .. 6 7 8 9 10 .. 1327 >
showing 20 out of 26539 commits