mirror of
https://github.com/python/cpython.git
synced 2025-08-17 07:11:51 +00:00

environment variable, to provide an opt-in way to protect against denial of service attacks due to hash collisions within the dict and set types. Patch by David Malcolm, based on work by Victor Stinner.
41 lines
1.3 KiB
C
41 lines
1.3 KiB
C
|
|
#ifndef Py_PYDEBUG_H
|
|
#define Py_PYDEBUG_H
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
PyAPI_DATA(int) Py_DebugFlag;
|
|
PyAPI_DATA(int) Py_VerboseFlag;
|
|
PyAPI_DATA(int) Py_InteractiveFlag;
|
|
PyAPI_DATA(int) Py_InspectFlag;
|
|
PyAPI_DATA(int) Py_OptimizeFlag;
|
|
PyAPI_DATA(int) Py_NoSiteFlag;
|
|
PyAPI_DATA(int) Py_BytesWarningFlag;
|
|
PyAPI_DATA(int) Py_UseClassExceptionsFlag;
|
|
PyAPI_DATA(int) Py_FrozenFlag;
|
|
PyAPI_DATA(int) Py_TabcheckFlag;
|
|
PyAPI_DATA(int) Py_UnicodeFlag;
|
|
PyAPI_DATA(int) Py_IgnoreEnvironmentFlag;
|
|
PyAPI_DATA(int) Py_DivisionWarningFlag;
|
|
PyAPI_DATA(int) Py_DontWriteBytecodeFlag;
|
|
PyAPI_DATA(int) Py_NoUserSiteDirectory;
|
|
/* _XXX Py_QnewFlag should go away in 3.0. It's true iff -Qnew is passed,
|
|
on the command line, and is used in 2.2 by ceval.c to make all "/" divisions
|
|
true divisions (which they will be in 3.0). */
|
|
PyAPI_DATA(int) _Py_QnewFlag;
|
|
/* Warn about 3.x issues */
|
|
PyAPI_DATA(int) Py_Py3kWarningFlag;
|
|
PyAPI_DATA(int) Py_HashRandomizationFlag;
|
|
|
|
/* this is a wrapper around getenv() that pays attention to
|
|
Py_IgnoreEnvironmentFlag. It should be used for getting variables like
|
|
PYTHONPATH and PYTHONHOME from the environment */
|
|
#define Py_GETENV(s) (Py_IgnoreEnvironmentFlag ? NULL : getenv(s))
|
|
|
|
PyAPI_FUNC(void) Py_FatalError(const char *message);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif /* !Py_PYDEBUG_H */
|