mirror of
https://github.com/python/cpython.git
synced 2024-11-23 18:04:37 +08:00
#18678: Correct names of spwd struct members.
The old names (sp_nam and sp_pwd) are kept for backward compatibility. Since this is a long standing bug that hasn't caused any real-world problems, I'm not backporting it. However, it is worth fixing because the corrected names match the documentation, and more importantly now match the C struct, just like the other struct members. Patch by Vajrasky Kok.
This commit is contained in:
parent
ed4500fb66
commit
bd90d09dd0
@ -19,9 +19,9 @@ below, see ``<shadow.h>``):
|
||||
+-------+---------------+---------------------------------+
|
||||
| Index | Attribute | Meaning |
|
||||
+=======+===============+=================================+
|
||||
| 0 | ``sp_nam`` | Login name |
|
||||
| 0 | ``sp_namp`` | Login name |
|
||||
+-------+---------------+---------------------------------+
|
||||
| 1 | ``sp_pwd`` | Encrypted password |
|
||||
| 1 | ``sp_pwdp`` | Encrypted password |
|
||||
+-------+---------------+---------------------------------+
|
||||
| 2 | ``sp_lstchg`` | Date of last change |
|
||||
+-------+---------------+---------------------------------+
|
||||
@ -36,15 +36,15 @@ below, see ``<shadow.h>``):
|
||||
+-------+---------------+---------------------------------+
|
||||
| 6 | ``sp_inact`` | Number of days after password |
|
||||
| | | expires until account is |
|
||||
| | | blocked |
|
||||
| | | disabled |
|
||||
+-------+---------------+---------------------------------+
|
||||
| 7 | ``sp_expire`` | Number of days since 1970-01-01 |
|
||||
| | | until account is disabled |
|
||||
| | | when account expires |
|
||||
+-------+---------------+---------------------------------+
|
||||
| 8 | ``sp_flag`` | Reserved |
|
||||
+-------+---------------+---------------------------------+
|
||||
|
||||
The sp_nam and sp_pwd items are strings, all others are integers.
|
||||
The sp_namp and sp_pwdp items are strings, all others are integers.
|
||||
:exc:`KeyError` is raised if the entry asked for cannot be found.
|
||||
|
||||
The following functions are defined:
|
||||
|
@ -31,6 +31,10 @@ Core and Builtins
|
||||
Library
|
||||
-------
|
||||
|
||||
- Issue #18678: Corrected spwd struct member names in spwd module:
|
||||
sp_nam->sp_namp, and sp_pwd->sp_pwdp. The old names are kept as extra
|
||||
structseq members, for backward compatibility.
|
||||
|
||||
- Issue #6157: Fixed tkinter.Text.debug(). tkinter.Text.bbox() now raises
|
||||
TypeError instead of TclError on wrong number of arguments. Original patch
|
||||
by Guilherme Polo.
|
||||
|
@ -26,22 +26,24 @@ You have to be root to be able to use this module.");
|
||||
#if defined(HAVE_GETSPNAM) || defined(HAVE_GETSPENT)
|
||||
|
||||
static PyStructSequence_Field struct_spwd_type_fields[] = {
|
||||
{"sp_nam", "login name"},
|
||||
{"sp_pwd", "encrypted password"},
|
||||
{"sp_namp", "login name"},
|
||||
{"sp_pwdp", "encrypted password"},
|
||||
{"sp_lstchg", "date of last change"},
|
||||
{"sp_min", "min #days between changes"},
|
||||
{"sp_max", "max #days between changes"},
|
||||
{"sp_warn", "#days before pw expires to warn user about it"},
|
||||
{"sp_inact", "#days after pw expires until account is blocked"},
|
||||
{"sp_expire", "#days since 1970-01-01 until account is disabled"},
|
||||
{"sp_inact", "#days after pw expires until account is disabled"},
|
||||
{"sp_expire", "#days since 1970-01-01 when account expires"},
|
||||
{"sp_flag", "reserved"},
|
||||
{"sp_nam", "login name; deprecated"}, /* Backward compatibility */
|
||||
{"sp_pwd", "encrypted password; deprecated"}, /* Backward compatibility */
|
||||
{0}
|
||||
};
|
||||
|
||||
PyDoc_STRVAR(struct_spwd__doc__,
|
||||
"spwd.struct_spwd: Results from getsp*() routines.\n\n\
|
||||
This object may be accessed either as a 9-tuple of\n\
|
||||
(sp_nam,sp_pwd,sp_lstchg,sp_min,sp_max,sp_warn,sp_inact,sp_expire,sp_flag)\n\
|
||||
(sp_namp,sp_pwdp,sp_lstchg,sp_min,sp_max,sp_warn,sp_inact,sp_expire,sp_flag)\n\
|
||||
or via the object attributes as named in the above tuple.");
|
||||
|
||||
static PyStructSequence_Desc struct_spwd_type_desc = {
|
||||
@ -86,6 +88,8 @@ static PyObject *mkspent(struct spwd *p)
|
||||
SETI(setIndex++, p->sp_inact);
|
||||
SETI(setIndex++, p->sp_expire);
|
||||
SETI(setIndex++, p->sp_flag);
|
||||
SETS(setIndex++, p->sp_namp); /* Backward compatibility for sp_nam */
|
||||
SETS(setIndex++, p->sp_pwdp); /* Backward compatibility for sp_pwd */
|
||||
|
||||
#undef SETS
|
||||
#undef SETI
|
||||
|
Loading…
Reference in New Issue
Block a user