summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@python.org>2023-05-24 20:34:41 (GMT)
committerGitHub <noreply@github.com>2023-05-24 20:34:41 (GMT)
commit684e99d01df0c7c8f7c67567e2cece4673df9432 (patch)
treece4e099967cd12b76e38518fe36942783a57ebe0 /Doc
parent160321e5304b962a162eb023472aa2bc8307ae15 (diff)
downloadcpython-684e99d01df0c7c8f7c67567e2cece4673df9432.zip
cpython-684e99d01df0c7c8f7c67567e2cece4673df9432.tar.gz
cpython-684e99d01df0c7c8f7c67567e2cece4673df9432.tar.bz2
gh-104773: PEP 594: Remove the spwd module (#104871)
Remove spwd from the configure script and Modules/Setup.
Diffstat (limited to 'Doc')
-rw-r--r--Doc/library/grp.rst4
-rw-r--r--Doc/library/pwd.rst7
-rw-r--r--Doc/library/spwd.rst82
-rw-r--r--Doc/library/superseded.rst1
-rw-r--r--Doc/whatsnew/2.5.rst2
-rw-r--r--Doc/whatsnew/3.11.rst2
-rw-r--r--Doc/whatsnew/3.12.rst2
-rw-r--r--Doc/whatsnew/3.13.rst5
-rw-r--r--Doc/whatsnew/3.6.rst2
9 files changed, 10 insertions, 97 deletions
diff --git a/Doc/library/grp.rst b/Doc/library/grp.rst
index 14af744..8f88f82 100644
--- a/Doc/library/grp.rst
+++ b/Doc/library/grp.rst
@@ -63,7 +63,3 @@ It defines the following items:
Module :mod:`pwd`
An interface to the user database, similar to this.
-
- Module :mod:`spwd`
- An interface to the shadow password database, similar to this.
-
diff --git a/Doc/library/pwd.rst b/Doc/library/pwd.rst
index 7cafc66..25aa8b8 100644
--- a/Doc/library/pwd.rst
+++ b/Doc/library/pwd.rst
@@ -47,8 +47,7 @@ raised if the entry asked for cannot be found.
*pw_passwd* field only contains an asterisk (``'*'``) or the letter ``'x'``
where the encrypted password is stored in a file :file:`/etc/shadow` which is
not world readable. Whether the *pw_passwd* field contains anything useful is
- system-dependent. If available, the :mod:`spwd` module should be used where
- access to the encrypted password is required.
+ system-dependent.
It defines the following items:
@@ -72,7 +71,3 @@ It defines the following items:
Module :mod:`grp`
An interface to the group database, similar to this.
-
- Module :mod:`spwd`
- An interface to the shadow password database, similar to this.
-
diff --git a/Doc/library/spwd.rst b/Doc/library/spwd.rst
deleted file mode 100644
index d1693ea..0000000
--- a/Doc/library/spwd.rst
+++ /dev/null
@@ -1,82 +0,0 @@
-:mod:`spwd` --- The shadow password database
-============================================
-
-.. module:: spwd
- :platform: Unix
- :synopsis: The shadow password database (getspnam() and friends).
- :deprecated:
-
-.. deprecated-removed:: 3.11 3.13
- The :mod:`spwd` module is deprecated
- (see :pep:`PEP 594 <594#spwd>` for details and alternatives).
-
---------------
-
-This module provides access to the Unix shadow password database. It is
-available on various Unix versions.
-
-.. include:: ../includes/wasm-notavail.rst
-
-You must have enough privileges to access the shadow password database (this
-usually means you have to be root).
-
-Shadow password database entries are reported as a tuple-like object, whose
-attributes correspond to the members of the ``spwd`` structure (Attribute field
-below, see ``<shadow.h>``):
-
-+-------+---------------+---------------------------------+
-| Index | Attribute | Meaning |
-+=======+===============+=================================+
-| 0 | ``sp_namp`` | Login name |
-+-------+---------------+---------------------------------+
-| 1 | ``sp_pwdp`` | Encrypted password |
-+-------+---------------+---------------------------------+
-| 2 | ``sp_lstchg`` | Date of last change |
-+-------+---------------+---------------------------------+
-| 3 | ``sp_min`` | Minimal number of days between |
-| | | changes |
-+-------+---------------+---------------------------------+
-| 4 | ``sp_max`` | Maximum number of days between |
-| | | changes |
-+-------+---------------+---------------------------------+
-| 5 | ``sp_warn`` | Number of days before password |
-| | | expires to warn user about it |
-+-------+---------------+---------------------------------+
-| 6 | ``sp_inact`` | Number of days after password |
-| | | expires until account is |
-| | | disabled |
-+-------+---------------+---------------------------------+
-| 7 | ``sp_expire`` | Number of days since 1970-01-01 |
-| | | when account expires |
-+-------+---------------+---------------------------------+
-| 8 | ``sp_flag`` | Reserved |
-+-------+---------------+---------------------------------+
-
-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:
-
-
-.. function:: getspnam(name)
-
- Return the shadow password database entry for the given user name.
-
- .. versionchanged:: 3.6
- Raises a :exc:`PermissionError` instead of :exc:`KeyError` if the user
- doesn't have privileges.
-
-.. function:: getspall()
-
- Return a list of all available shadow password database entries, in arbitrary
- order.
-
-
-.. seealso::
-
- Module :mod:`grp`
- An interface to the group database, similar to this.
-
- Module :mod:`pwd`
- An interface to the normal password database, similar to this.
-
diff --git a/Doc/library/superseded.rst b/Doc/library/superseded.rst
index 3c67ae4..7440738 100644
--- a/Doc/library/superseded.rst
+++ b/Doc/library/superseded.rst
@@ -19,6 +19,5 @@ backwards compatibility. They have been superseded by other modules.
nis.rst
nntplib.rst
optparse.rst
- spwd.rst
uu.rst
xdrlib.rst
diff --git a/Doc/whatsnew/2.5.rst b/Doc/whatsnew/2.5.rst
index dcfaef6..a679c7c 100644
--- a/Doc/whatsnew/2.5.rst
+++ b/Doc/whatsnew/2.5.rst
@@ -1542,7 +1542,7 @@ complete list of changes, or look through the SVN logs for all the details.
:meth:`getproto` accessor methods to retrieve the family, type, and protocol
values for the socket.
-* New module: the :mod:`spwd` module provides functions for accessing the shadow
+* New module: the :mod:`!spwd` module provides functions for accessing the shadow
password database on systems that support shadow passwords.
* The :mod:`struct` is now faster because it compiles format strings into
diff --git a/Doc/whatsnew/3.11.rst b/Doc/whatsnew/3.11.rst
index fd4a75c..af60052 100644
--- a/Doc/whatsnew/3.11.rst
+++ b/Doc/whatsnew/3.11.rst
@@ -1735,7 +1735,7 @@ Modules
+---------------------+---------------------+---------------------+---------------------+---------------------+
| :mod:`audioop` | :mod:`crypt` | :mod:`nis` | :mod:`!sndhdr` | :mod:`uu` |
+---------------------+---------------------+---------------------+---------------------+---------------------+
- | :mod:`!cgi` | :mod:`imghdr` | :mod:`nntplib` | :mod:`spwd` | :mod:`xdrlib` |
+ | :mod:`!cgi` | :mod:`imghdr` | :mod:`nntplib` | :mod:`!spwd` | :mod:`xdrlib` |
+---------------------+---------------------+---------------------+---------------------+---------------------+
| :mod:`!cgitb` | :mod:`!mailcap` | :mod:`!ossaudiodev` | :mod:`!sunau` | |
+---------------------+---------------------+---------------------+---------------------+---------------------+
diff --git a/Doc/whatsnew/3.12.rst b/Doc/whatsnew/3.12.rst
index 7bf0df1..3de778c 100644
--- a/Doc/whatsnew/3.12.rst
+++ b/Doc/whatsnew/3.12.rst
@@ -900,7 +900,7 @@ Modules (see :pep:`594`):
* :mod:`!ossaudiodev`
* :mod:`!pipes`
* :mod:`!sndhdr`
-* :mod:`spwd`
+* :mod:`!spwd`
* :mod:`!sunau`
* :mod:`!telnetlib`
* :mod:`uu`
diff --git a/Doc/whatsnew/3.13.rst b/Doc/whatsnew/3.13.rst
index 1102225..a94a69a 100644
--- a/Doc/whatsnew/3.13.rst
+++ b/Doc/whatsnew/3.13.rst
@@ -168,6 +168,11 @@ Removed
The :mod:`mimetypes` module provides an alternative.
(Contributed by Victor Stinner in :gh:`104773`.)
+* :pep:`594`: Remove the :mod:`!spwd` module, deprecated in Python 3.11:
+ the `python-pam project <https://pypi.org/project/python-pam/>`_ can be used
+ instead.
+ (Contributed by Victor Stinner in :gh:`104773`.)
+
Porting to Python 3.13
======================
diff --git a/Doc/whatsnew/3.6.rst b/Doc/whatsnew/3.6.rst
index 3d8f932..944da78 100644
--- a/Doc/whatsnew/3.6.rst
+++ b/Doc/whatsnew/3.6.rst
@@ -2211,7 +2211,7 @@ Changes in the Python API
the exception will stop a single-threaded server. (Contributed by
Martin Panter in :issue:`23430`.)
-* :func:`spwd.getspnam` now raises a :exc:`PermissionError` instead of
+* :func:`!spwd.getspnam` now raises a :exc:`PermissionError` instead of
:exc:`KeyError` if the user doesn't have privileges.
* The :meth:`socket.socket.close` method now raises an exception if