Mercurial > cpython-lru_cache-weakref
annotate Modules/cryptmodule.c @ 58664:993f703a61ba
Merged revisions 77484,77487,77561,77570,77593,77603,77608,77667,77702-77703,77739,77858,77887,77889 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r77484 | skip.montanaro | 2010-01-13 19:12:34 -0600 (Wed, 13 Jan 2010) | 4 lines
Update PyEval_EvalFrame to PyEval_EvalFrameEx. This looks to have been done
partially before. Also add a comment describing how this might have to work
with different versions of the interpreter.
........
r77487 | ezio.melotti | 2010-01-14 05:34:10 -0600 (Thu, 14 Jan 2010) | 1 line
Fixed typo
........
r77561 | georg.brandl | 2010-01-17 02:42:30 -0600 (Sun, 17 Jan 2010) | 1 line
#7699: improve datetime docs: straightforward linking to strftime/strptime section, mark classmethods as such.
........
r77570 | georg.brandl | 2010-01-17 06:14:42 -0600 (Sun, 17 Jan 2010) | 1 line
Add note about usage of STRINGLIB_EMPTY.
........
r77593 | georg.brandl | 2010-01-17 17:33:53 -0600 (Sun, 17 Jan 2010) | 1 line
Fix internal reference.
........
r77603 | benjamin.peterson | 2010-01-18 17:07:56 -0600 (Mon, 18 Jan 2010) | 8 lines
data descriptors do not override the class dictionary if __get__ is not defined
Adjust documentation and add a test to verify this behavior.
See http://mail.python.org/pipermail/python-dev/2010-January/095637.html for
discussion.
........
r77608 | gregory.p.smith | 2010-01-19 02:19:03 -0600 (Tue, 19 Jan 2010) | 6 lines
Do not compile stubs for the sha2 series hashes in the openssl hashlib
module when the openssl version is too old to support them. That
leads both compiled code bloat and to unittests attempting to test
implementations that don't exist for comparison purposes on such
platforms.
........
r77667 | mark.dickinson | 2010-01-21 12:32:27 -0600 (Thu, 21 Jan 2010) | 1 line
Add two more test_strtod test values.
........
r77702 | georg.brandl | 2010-01-23 02:43:31 -0600 (Sat, 23 Jan 2010) | 1 line
#7762: fix refcount annotation of PyUnicode_Tailmatch().
........
r77703 | georg.brandl | 2010-01-23 02:47:54 -0600 (Sat, 23 Jan 2010) | 1 line
#7725: fix referencing issue.
........
r77739 | benjamin.peterson | 2010-01-24 21:52:52 -0600 (Sun, 24 Jan 2010) | 1 line
mention from_float() in error message
........
r77858 | georg.brandl | 2010-01-30 11:57:48 -0600 (Sat, 30 Jan 2010) | 1 line
#7802: fix invalid example (heh).
........
r77887 | georg.brandl | 2010-01-31 12:51:49 -0600 (Sun, 31 Jan 2010) | 5 lines
Fix-up ftplib documentation:
move exception descriptions to toplevel, not inside a class
remove attribution in "versionadded"
spell and grammar check docstring of FTP_TLS
........
r77889 | michael.foord | 2010-01-31 13:59:26 -0600 (Sun, 31 Jan 2010) | 1 line
Minor modification to unittest documentation.
........
| author | Benjamin Peterson <benjamin@python.org> |
|---|---|
| date | Wed, 03 Feb 2010 02:35:45 +0000 |
| parents | 94f64f11fdd0 |
| children | cab14be0ada1 |
| rev | line source |
|---|---|
| 1617 | 1 /* cryptmodule.c - by Steve Majewski |
| 2 */ | |
| 3 | |
|
4643
8d909ae1f099
renamed grandly.
Roger E. Masse <rmasse@newcnri.cnri.reston.va.us>
parents:
4600
diff
changeset
|
4 #include "Python.h" |
| 1617 | 5 |
| 6 #include <sys/types.h> | |
| 7 | |
|
39442
654c380cf8b9
Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents:
24471
diff
changeset
|
8 #ifdef __VMS |
|
654c380cf8b9
Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents:
24471
diff
changeset
|
9 #include <openssl/des.h> |
|
654c380cf8b9
Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents:
24471
diff
changeset
|
10 #endif |
| 1617 | 11 |
| 12 /* Module crypt */ | |
| 13 | |
| 14 | |
|
13496
03bc51e43f7a
ANSI-fication
Peter Schneider-Kamp <nowonder@nowonder.de>
parents:
11687
diff
changeset
|
15 static PyObject *crypt_crypt(PyObject *self, PyObject *args) |
| 1617 | 16 { |
| 17 char *word, *salt; | |
|
39442
654c380cf8b9
Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents:
24471
diff
changeset
|
18 #ifndef __VMS |
|
13667
a6c7bfdd6777
Even more ANSIfication: fix as many function pointers and declarations as
Thomas Wouters <thomas@python.org>
parents:
13651
diff
changeset
|
19 extern char * crypt(const char *, const char *); |
|
39442
654c380cf8b9
Merged revisions 46753-51188 via svnmerge from
Thomas Wouters <thomas@python.org>
parents:
24471
diff
changeset
|
20 #endif |
| 1617 | 21 |
| 22709 | 22 if (!PyArg_ParseTuple(args, "ss:crypt", &word, &salt)) { |
| 1617 | 23 return NULL; |
| 24 } | |
|
23777
bec1b942e0bc
Patch #488073: AtheOS port.
Martin v. Löwis <martin@v.loewis.de>
parents:
22709
diff
changeset
|
25 /* On some platforms (AtheOS) crypt returns NULL for an invalid |
|
bec1b942e0bc
Patch #488073: AtheOS port.
Martin v. Löwis <martin@v.loewis.de>
parents:
22709
diff
changeset
|
26 salt. Return None in that case. XXX Maybe raise an exception? */ |
|
bec1b942e0bc
Patch #488073: AtheOS port.
Martin v. Löwis <martin@v.loewis.de>
parents:
22709
diff
changeset
|
27 return Py_BuildValue("s", crypt(word, salt)); |
| 1617 | 28 |
| 29 } | |
| 30 | |
|
23832
ed1ba37a46b7
Patch #568124: Add doc string macros.
Martin v. Löwis <martin@v.loewis.de>
parents:
23777
diff
changeset
|
31 PyDoc_STRVAR(crypt_crypt__doc__, |
|
ed1ba37a46b7
Patch #568124: Add doc string macros.
Martin v. Löwis <martin@v.loewis.de>
parents:
23777
diff
changeset
|
32 "crypt(word, salt) -> string\n\ |
|
11687
47d70f4f635f
Added docstring to crypt.crypt() based on the documentation.
Fred Drake <fdrake@acm.org>
parents:
9588
diff
changeset
|
33 word will usually be a user's password. salt is a 2-character string\n\ |
|
47d70f4f635f
Added docstring to crypt.crypt() based on the documentation.
Fred Drake <fdrake@acm.org>
parents:
9588
diff
changeset
|
34 which will be used to select one of 4096 variations of DES. The characters\n\ |
|
47d70f4f635f
Added docstring to crypt.crypt() based on the documentation.
Fred Drake <fdrake@acm.org>
parents:
9588
diff
changeset
|
35 in salt must be either \".\", \"/\", or an alphanumeric character. Returns\n\ |
|
47d70f4f635f
Added docstring to crypt.crypt() based on the documentation.
Fred Drake <fdrake@acm.org>
parents:
9588
diff
changeset
|
36 the hashed password as a string, which will be composed of characters from\n\ |
|
23832
ed1ba37a46b7
Patch #568124: Add doc string macros.
Martin v. Löwis <martin@v.loewis.de>
parents:
23777
diff
changeset
|
37 the same alphabet as the salt."); |
|
11687
47d70f4f635f
Added docstring to crypt.crypt() based on the documentation.
Fred Drake <fdrake@acm.org>
parents:
9588
diff
changeset
|
38 |
|
47d70f4f635f
Added docstring to crypt.crypt() based on the documentation.
Fred Drake <fdrake@acm.org>
parents:
9588
diff
changeset
|
39 |
|
4643
8d909ae1f099
renamed grandly.
Roger E. Masse <rmasse@newcnri.cnri.reston.va.us>
parents:
4600
diff
changeset
|
40 static PyMethodDef crypt_methods[] = { |
| 22709 | 41 {"crypt", crypt_crypt, METH_VARARGS, crypt_crypt__doc__}, |
| 1617 | 42 {NULL, NULL} /* sentinel */ |
| 43 }; | |
| 44 | |
|
47580
94f64f11fdd0
Implement PEP 3121: new module initialization and finalization API.
Martin v. Löwis <martin@v.loewis.de>
parents:
39442
diff
changeset
|
45 |
|
94f64f11fdd0
Implement PEP 3121: new module initialization and finalization API.
Martin v. Löwis <martin@v.loewis.de>
parents:
39442
diff
changeset
|
46 static struct PyModuleDef cryptmodule = { |
|
94f64f11fdd0
Implement PEP 3121: new module initialization and finalization API.
Martin v. Löwis <martin@v.loewis.de>
parents:
39442
diff
changeset
|
47 PyModuleDef_HEAD_INIT, |
|
94f64f11fdd0
Implement PEP 3121: new module initialization and finalization API.
Martin v. Löwis <martin@v.loewis.de>
parents:
39442
diff
changeset
|
48 "crypt", |
|
94f64f11fdd0
Implement PEP 3121: new module initialization and finalization API.
Martin v. Löwis <martin@v.loewis.de>
parents:
39442
diff
changeset
|
49 NULL, |
|
94f64f11fdd0
Implement PEP 3121: new module initialization and finalization API.
Martin v. Löwis <martin@v.loewis.de>
parents:
39442
diff
changeset
|
50 -1, |
|
94f64f11fdd0
Implement PEP 3121: new module initialization and finalization API.
Martin v. Löwis <martin@v.loewis.de>
parents:
39442
diff
changeset
|
51 crypt_methods, |
|
94f64f11fdd0
Implement PEP 3121: new module initialization and finalization API.
Martin v. Löwis <martin@v.loewis.de>
parents:
39442
diff
changeset
|
52 NULL, |
|
94f64f11fdd0
Implement PEP 3121: new module initialization and finalization API.
Martin v. Löwis <martin@v.loewis.de>
parents:
39442
diff
changeset
|
53 NULL, |
|
94f64f11fdd0
Implement PEP 3121: new module initialization and finalization API.
Martin v. Löwis <martin@v.loewis.de>
parents:
39442
diff
changeset
|
54 NULL, |
|
94f64f11fdd0
Implement PEP 3121: new module initialization and finalization API.
Martin v. Löwis <martin@v.loewis.de>
parents:
39442
diff
changeset
|
55 NULL |
|
94f64f11fdd0
Implement PEP 3121: new module initialization and finalization API.
Martin v. Löwis <martin@v.loewis.de>
parents:
39442
diff
changeset
|
56 }; |
|
94f64f11fdd0
Implement PEP 3121: new module initialization and finalization API.
Martin v. Löwis <martin@v.loewis.de>
parents:
39442
diff
changeset
|
57 |
|
24471
f66b3a3509c7
Excise DL_EXPORT/DL_IMPORT from Modules/*. Required adding a prototype
Mark Hammond <mhammond@skippinet.com.au>
parents:
23832
diff
changeset
|
58 PyMODINIT_FUNC |
|
47580
94f64f11fdd0
Implement PEP 3121: new module initialization and finalization API.
Martin v. Löwis <martin@v.loewis.de>
parents:
39442
diff
changeset
|
59 PyInit_crypt(void) |
| 1617 | 60 { |
|
47580
94f64f11fdd0
Implement PEP 3121: new module initialization and finalization API.
Martin v. Löwis <martin@v.loewis.de>
parents:
39442
diff
changeset
|
61 return PyModule_Create(&cryptmodule); |
| 1617 | 62 } |
