Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(225)

Unified Diff: third_party/twisted_8_1/twisted/plugins/cred_unix.py

Issue 12261012: Remove third_party/twisted_8_1 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/build
Patch Set: Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/twisted_8_1/twisted/plugins/cred_unix.py
diff --git a/third_party/twisted_8_1/twisted/plugins/cred_unix.py b/third_party/twisted_8_1/twisted/plugins/cred_unix.py
deleted file mode 100644
index b67df8f62efaed3b304391b68b11b5ab69d9a6ed..0000000000000000000000000000000000000000
--- a/third_party/twisted_8_1/twisted/plugins/cred_unix.py
+++ /dev/null
@@ -1,138 +0,0 @@
-# -*- test-case-name: twisted.test.test_strcred -*-
-#
-# Copyright (c) 2007-2008 Twisted Matrix Laboratories.
-# See LICENSE for details.
-
-"""
-Cred plugin for UNIX user accounts.
-"""
-
-from zope.interface import implements
-
-from twisted import plugin
-from twisted.cred.strcred import ICheckerFactory
-from twisted.cred.checkers import ICredentialsChecker
-from twisted.cred.credentials import IUsernamePassword
-from twisted.cred.error import UnauthorizedLogin
-from twisted.internet import defer
-
-
-
-def verifyCryptedPassword(crypted, pw):
- if crypted[0] == '$': # md5_crypt encrypted
- salt = '$1$' + crypted.split('$')[2]
- else:
- salt = crypted[:2]
- try:
- import crypt
- except ImportError:
- crypt = None
-
- if crypt is None:
- raise NotImplementedError("cred_unix not supported on this platform")
- return crypt.crypt(pw, salt) == crypted
-
-
-
-class UNIXChecker(object):
- """
- A credentials checker for a UNIX server. This will check that
- an authenticating username/password is a valid user on the system.
-
- Does not work on Windows.
-
- Right now this supports Python's pwd and spwd modules, if they are
- installed. It does not support PAM.
- """
- implements(ICredentialsChecker)
- credentialInterfaces = (IUsernamePassword,)
-
-
- def checkPwd(self, pwd, username, password):
- try:
- cryptedPass = pwd.getpwnam(username)[1]
- except KeyError:
- return defer.fail(UnauthorizedLogin())
- else:
- if cryptedPass in ('*', 'x'):
- # Allow checkSpwd to take over
- return None
- elif verifyCryptedPassword(cryptedPass, password):
- return defer.succeed(username)
-
-
- def checkSpwd(self, spwd, username, password):
- try:
- cryptedPass = spwd.getspnam(username)[1]
- except KeyError:
- return defer.fail(UnauthorizedLogin())
- else:
- if verifyCryptedPassword(cryptedPass, password):
- return defer.succeed(username)
-
-
- def requestAvatarId(self, credentials):
- username, password = credentials.username, credentials.password
-
- try:
- import pwd
- except ImportError:
- pwd = None
-
- if pwd is not None:
- checked = self.checkPwd(pwd, username, password)
- if checked is not None:
- return checked
-
- try:
- import spwd
- except ImportError:
- spwd = None
-
- if spwd is not None:
- checked = self.checkSpwd(spwd, username, password)
- if checked is not None:
- return checked
- # TODO: check_pam?
- # TODO: check_shadow?
- return defer.fail(UnauthorizedLogin())
-
-
-
-unixCheckerFactoryHelp = """
-This checker will attempt to use every resource available to
-authenticate against the list of users on the local UNIX system.
-(This does not support Windows servers for very obvious reasons.)
-
-Right now, this includes support for:
-
- * Python's pwd module (which checks /etc/passwd)
- * Python's spwd module (which checks /etc/shadow)
-
-Future versions may include support for PAM authentication.
-"""
-
-
-
-class UNIXCheckerFactory(object):
- """
- A factory for L{UNIXChecker}.
- """
- implements(ICheckerFactory, plugin.IPlugin)
- authType = 'unix'
- authHelp = unixCheckerFactoryHelp
- argStringFormat = 'No argstring required.'
- credentialInterfaces = UNIXChecker.credentialInterfaces
-
- def generateChecker(self, argstring):
- """
- This checker factory ignores the argument string. Everything
- needed to generate a user database is pulled out of the local
- UNIX environment.
- """
- return UNIXChecker()
-
-
-
-theUnixCheckerFactory = UNIXCheckerFactory()
-
« no previous file with comments | « third_party/twisted_8_1/twisted/plugins/cred_memory.py ('k') | third_party/twisted_8_1/twisted/plugins/twisted_conch.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698