Removed authorization (as this should be done by apache).
[toast/tdyndns.git] / bin / tdyndns_auth_simplepwd
1 #!/usr/bin/python
2 """
3 Acts as auth program for the "external" authentication module
4 http://code.google.com/p/mod-auth-external/
5
6 It makes sure that the given user name exists at the system
7 (with a UID > 1000) and that the password corresponds to
8 a specific one given in this file.
9 """
10
11 # Configuration
12 PASSWORD = 'hygCithOrs5'
13
14
15 # ------------------------------------------------------------
16
17 import os
18 import pwd
19 import sys
20
21 # Get provided username and password
22 username = os.environ.get('USER')
23 password = os.environ.get('PASS')
24
25
26 # We want to have a existing user ...
27 try:
28         user_info = pwd.getpwnam(username)
29 except KeyError:
30         # invalid user name
31         sys.exit(1)
32
33 if user_info.pw_uid < 1000:
34         # the system user has to have a UID above 1000
35         sys.exit(1)
36
37
38 # ... and the password has to be as given above
39 if password != PASSWORD:
40         sys.exit(1)
41
42
43 sys.exit(0)