#14416: conditionally add LOG_AUTHPRIV facility and LOG_ODELAY to syslog.

Unlike the other facilities, we don't use a fallback for AUTHPRIV if it
doesn't exist.  Because it is intended for logging sensitive log messages, it
is better that a program trying to log such messages fail than that it log
them insecurely.

Initial patch by Federico Reghenzani.
This commit is contained in:
R David Murray 2012-03-29 07:15:45 -04:00
parent 8c696321eb
commit eac0939ddd
4 changed files with 18 additions and 4 deletions

View File

@ -78,12 +78,14 @@ Priority levels (high to low):
Facilities: Facilities:
:const:`LOG_KERN`, :const:`LOG_USER`, :const:`LOG_MAIL`, :const:`LOG_DAEMON`, :const:`LOG_KERN`, :const:`LOG_USER`, :const:`LOG_MAIL`, :const:`LOG_DAEMON`,
:const:`LOG_AUTH`, :const:`LOG_LPR`, :const:`LOG_NEWS`, :const:`LOG_UUCP`, :const:`LOG_AUTH`, :const:`LOG_LPR`, :const:`LOG_NEWS`, :const:`LOG_UUCP`,
:const:`LOG_CRON`, :const:`LOG_SYSLOG` and :const:`LOG_LOCAL0` to :const:`LOG_CRON`, :const:`LOG_SYSLOG`, :const:`LOG_LOCAL0` to
:const:`LOG_LOCAL7`. :const:`LOG_LOCAL7`, and, if defined in ``<syslog.h>``,
:const:`LOG_AUTHPRIV`.
Log options: Log options:
:const:`LOG_PID`, :const:`LOG_CONS`, :const:`LOG_NDELAY`, :const:`LOG_NOWAIT` :const:`LOG_PID`, :const:`LOG_CONS`, :const:`LOG_NDELAY`, and, if defined
and :const:`LOG_PERROR` if defined in ``<syslog.h>``. in ``<syslog.h>``, :const:`LOG_ODELAY`, :const:`LOG_NOWAIT`, and
:const:`LOG_PERROR`.
Examples Examples

View File

@ -832,6 +832,7 @@ Terry Reedy
Gareth Rees Gareth Rees
Steve Reeves Steve Reeves
Lennart Regebro Lennart Regebro
Federico Reghenzani
Ofir Reichenberg Ofir Reichenberg
Sean Reifschneider Sean Reifschneider
Michael P. Reilly Michael P. Reilly

View File

@ -34,6 +34,9 @@ Core and Builtins
Library Library
------- -------
- Issue #14416: syslog now defines the LOG_ODELAY and LOG_AUTHPRIV constants
if they are defined in <syslog.h>.
- IDLE can be launched as python -m idlelib - IDLE can be launched as python -m idlelib
- Issue #14295: Add unittest.mock - Issue #14295: Add unittest.mock

View File

@ -291,6 +291,9 @@ PyInit_syslog(void)
PyModule_AddIntConstant(m, "LOG_PID", LOG_PID); PyModule_AddIntConstant(m, "LOG_PID", LOG_PID);
PyModule_AddIntConstant(m, "LOG_CONS", LOG_CONS); PyModule_AddIntConstant(m, "LOG_CONS", LOG_CONS);
PyModule_AddIntConstant(m, "LOG_NDELAY", LOG_NDELAY); PyModule_AddIntConstant(m, "LOG_NDELAY", LOG_NDELAY);
#ifdef LOG_ODELAY
PyModule_AddIntConstant(m, "LOG_ODELAY", LOG_ODELAY);
#endif
#ifdef LOG_NOWAIT #ifdef LOG_NOWAIT
PyModule_AddIntConstant(m, "LOG_NOWAIT", LOG_NOWAIT); PyModule_AddIntConstant(m, "LOG_NOWAIT", LOG_NOWAIT);
#endif #endif
@ -331,5 +334,10 @@ PyInit_syslog(void)
PyModule_AddIntConstant(m, "LOG_CRON", LOG_CRON); PyModule_AddIntConstant(m, "LOG_CRON", LOG_CRON);
PyModule_AddIntConstant(m, "LOG_UUCP", LOG_UUCP); PyModule_AddIntConstant(m, "LOG_UUCP", LOG_UUCP);
PyModule_AddIntConstant(m, "LOG_NEWS", LOG_NEWS); PyModule_AddIntConstant(m, "LOG_NEWS", LOG_NEWS);
#ifdef LOG_AUTHPRIV
PyModule_AddIntConstant(m, "LOG_AUTHPRIV", LOG_AUTHPRIV);
#endif
return m; return m;
} }