|
xrootd
|
#include <stdio.h>#include <string.h>#include <stdlib.h>#include <sys/types.h>#include <sys/stat.h>#include <unistd.h>#include <fcntl.h>#include <errno.h>#include <pwd.h>#include <dirent.h>#include <XrdOuc/XrdOucString.hh>#include <XrdSut/XrdSutAux.hh>#include <XrdSut/XrdSutPFEntry.hh>#include <XrdSut/XrdSutPFile.hh>#include <XrdSut/XrdSutRndm.hh>#include <XrdCrypto/XrdCryptoCipher.hh>#include <XrdCrypto/XrdCryptoFactory.hh>
Defines | |
| #define | NCRYPTMAX 10 |
| #define | PRT(x) {cerr <<x <<endl;} |
| #define | kMAXPWDATT 3 |
| #define | kMAXPUK 5 |
Enumerations | |
| enum | kModes { kM_undef = 0, kM_init = 1, kM_info, kM_destroy, kM_help, kM_undef = 0, kM_admin = 1, kM_user, kM_netrc, kM_srvpuk, kM_help } |
| enum | kActions { kA_undef = 0, kA_add = 1, kA_update, kA_read, kA_remove, kA_disable, kA_copy, kA_trim, kA_browse } |
Functions | |
| void | Menu (int opt=0) |
| int | ParseArguments (int argc, char **argv) |
| void | ParseCrypto () |
| bool | CheckOption (XrdOucString opt, const char *ref, int &ival) |
| bool | AddPassword (XrdSutPFEntry &ent, XrdOucString salt, XrdOucString &ranpwd, bool random, bool checkpw, bool &newpw) |
| bool | AddPassword (XrdSutPFEntry &ent, bool &newpw, const char *pwd=0) |
| void | SavePasswd (XrdOucString tag, XrdOucString pwd, bool onetime) |
| bool | ReadPasswd (XrdOucString &tag, XrdOucString &pwd, int &st) |
| bool | ReadPuk (int &npuk, XrdOucString *tpuk, XrdOucString *puk) |
| int | GeneratePuk () |
| bool | SavePuk () |
| bool | ReadPuk () |
| bool | ExpPuk (const char *puk=0, bool read=1) |
| bool | GetEntry (XrdSutPFile *ff, XrdOucString tag, XrdSutPFEntry &ent, bool &check) |
| bool | AskConfirm (const char *msg1, bool defact, const char *msg2=0) |
| int | LocateFactoryIndex (char *tag, int &id) |
| int | main (int argc, char **argv) |
Variables | |
| const char * | XrdSecpwdSrvAdminCVSID = "$Id$" |
| const char * | gModesStr [] |
| const char * | gActionsStr [] |
| int | DebugON = 1 |
| XrdOucString | DirRef = "~/.xrd/" |
| XrdOucString | AdminRef = "pwdadmin" |
| XrdOucString | UserRef = "pwduser" |
| XrdOucString | NetRcRef = "pwdnetrc" |
| XrdOucString | SrvPukRef = "pwdsrvpuk" |
| XrdOucString | GenPwdRef = "/genpwd/" |
| XrdOucString | GenPukRef = "/genpuk/" |
| XrdOucString | IDTag = "+++SrvID" |
| XrdOucString | EmailTag = "+++SrvEmail" |
| XrdOucString | HostTag = "+++SrvHost" |
| XrdOucString | PukTag = "+++SrvPuk" |
| XrdOucString | PwdFile = "" |
| XrdOucString | PukFile = "/home/ganis/.xrd/genpuk/puk.07May2005-0849" |
| int | Mode = kM_undef |
| int | Action = kA_undef |
| int | NoBackup = 1 |
| XrdOucString | NameTag = "" |
| XrdOucString | CopyTag = "" |
| XrdOucString | File = "" |
| XrdOucString | Path = "" |
| XrdOucString | Dir = "" |
| XrdOucString | SrvID = "" |
| XrdOucString | SrvName = "" |
| XrdOucString | Email = "" |
| XrdOucString | IterNum = "" |
| bool | Backup = 1 |
| bool | DontAsk = 0 |
| bool | Force = 0 |
| bool | Passwd = 1 |
| bool | Change = 1 |
| bool | Random = 0 |
| bool | SavePw = 1 |
| bool | SetID = 0 |
| bool | SetEmail = 0 |
| bool | SetHost = 0 |
| bool | Create = 0 |
| bool | Confirm = 1 |
| bool | Import = 0 |
| bool | Hash = 1 |
| bool | ChangePuk = 0 |
| bool | ChangePwd = 0 |
| bool | ExportPuk = 0 |
| XrdOucString | DefCrypto = "ssl" |
| XrdOucString | CryptList = "" |
| int | ncrypt = 0 |
| XrdOucString | CryptMod [NCRYPTMAX] = {""} |
| XrdCryptoCipher ** | RefCip = 0 |
| XrdCryptoFactory ** | CF = 0 |
| XrdCryptoKDFun_t | KDFun = 0 |
| XrdCryptoKDFunLen_t | KDFunLen = 0 |
| int | nHostPuk |
| XrdOucString | TagHostPuk [kMAXPUK] |
| XrdOucString | HostPuk [kMAXPUK] |
| #define kMAXPUK 5 |
Referenced by ReadPuk().
| #define kMAXPWDATT 3 |
Referenced by AddPassword().
| #define NCRYPTMAX 10 |
Referenced by ParseCrypto().
| #define PRT | ( | x | ) | {cerr <<x <<endl;} |
Referenced by main(), Menu(), ParseCrypto(), AddPassword(), SavePasswd(), GetEntry(), AskConfirm(), ReadPasswd(), ReadPuk(), SavePuk(), GeneratePuk(), LocateFactoryIndex(), and ExpPuk().
| enum kActions |
| enum kModes |
| bool AddPassword | ( | XrdSutPFEntry & | ent, |
| XrdOucString | salt, | ||
| XrdOucString & | ranpwd, | ||
| bool | random, | ||
| bool | checkpw, | ||
| bool & | newpw | ||
| ) |
References XrdSutPFEntry::buf1, XrdSutPFBuf::len, XrdSutPFBuf::buf, XrdSutPFBuf::SetBuf(), XrdSutPFEntry::buf2, XrdOucString::c_str(), XrdOucString::length(), kMAXPWDATT, PRT, XrdOucString::insert(), XrdOucString::find(), XrdSutGetPass(), SavePw, XrdSutRndm::GetString(), and XrdOucString::hardreset().
Referenced by main().
| bool AddPassword | ( | XrdSutPFEntry & | ent, |
| bool & | newpw, | ||
| const char * | pwd = 0 |
||
| ) |
| bool AskConfirm | ( | const char * | msg1, |
| bool | defact, | ||
| const char * | msg2 = 0 |
||
| ) |
References Confirm, PRT, XrdOucString::insert(), XrdSutGetLine(), XrdOucString::c_str(), XrdOucString::lower(), and XrdOucString::length().
Referenced by main().
| bool CheckOption | ( | XrdOucString | opt, |
| const char * | ref, | ||
| int & | ival | ||
| ) |
| bool ExpPuk | ( | const char * | puk = 0, |
| bool | read = 1 |
||
| ) |
References Dir, GenPukRef, opendir(), XrdOucString::c_str(), PRT, readdir(), stat(), ReadPuk(), PukFile, open(), XrdOucString::assign(), ncrypt, SrvID, XrdCryptoFactory::ID(), XrdCryptoCipher::Public(), write(), XrdOucString::length(), and close.
Referenced by main().
| int GeneratePuk | ( | ) |
References ncrypt, XrdCryptoFactory::GetCryptoFactory(), PRT, and XrdCryptoFactory::Cipher().
Referenced by main().
| bool GetEntry | ( | XrdSutPFile * | ff, |
| XrdOucString | tag, | ||
| XrdSutPFEntry & | ent, | ||
| bool & | check | ||
| ) |
References XrdSutPFile::ReadEntry(), XrdOucString::c_str(), Force, PRT, XrdSutPFile::Name(), XrdSutPFEntry::AsString(), XrdSutPFEntry::SetName(), and XrdSutPFEntry::cnt.
Referenced by main().
| int LocateFactoryIndex | ( | char * | tag, |
| int & | id | ||
| ) |
References XrdOucString::erase(), XrdOucString::rfind(), XrdOucString::c_str(), ncrypt, and PRT.
Referenced by main().
| int main | ( | int | argc, |
| char ** | argv | ||
| ) |
References ParseArguments(), ParseCrypto(), XrdSutSetTrace(), sutTRACE_Debug, Create, kPFEcreate, XrdOucString::c_str(), kPFErrNoFile, File, DontAsk, AskConfirm(), Mode, kM_user, kM_srvpuk, kM_admin, XrdOucString::length(), XrdSutGetLine(), XrdOucString::erase(), PRT, XrdSutRndm::Init(), XrdSutRndm::GetString(), XrdOucString::insert(), SetID, XrdSutPFEntry::SetName(), XrdSutPFEntry::status, kPFE_special, XrdSutPFEntry::cnt, XrdSutPFEntry::buf1, XrdSutPFBuf::SetBuf(), XrdSutPFEntry::mtime, GeneratePuk(), ncrypt, XrdCryptoFactory::ID(), XrdCryptoCipher::AsBucket(), XrdSutBucket::buffer, XrdSutBucket::size, SavePuk(), XrdSutPFEntry::Reset(), XrdSutBucket::SetBuf(), XrdSutPFBuf::buf, XrdSutPFBuf::len, LocateFactoryIndex(), XrdSutPFEntry::name, SetEmail, SetHost, Action, kA_update, Force, kA_add, ExportPuk, ExpPuk(), ChangePuk, Import, ReadPuk(), XrdSutPFEntry::buf4, XrdSutPFEntry::buf3, XrdSutPFEntry::buf2, GetEntry(), nHostPuk, kM_netrc, ReadPasswd(), Hash, AddPassword(), gModesStr, NameTag, KDFun, KDFunLen, XrdCryptoFactory::GetCryptoFactory(), XrdCryptoFactory::KDFun(), XrdCryptoFactory::KDFunLen(), ChangePwd, kPFE_onetime, kPFE_ok, Passwd, Change, Random, kPFE_allowed, SavePw, SavePasswd(), kA_read, XrdSutPFEntry::AsString(), kA_remove, kA_disable, kPFE_disabled, kA_copy, CopyTag, kA_trim, and kA_browse.
| void Menu | ( | int | opt = 0 | ) |
References PRT.
| int ParseArguments | ( | int | argc, |
| char ** | argv | ||
| ) |
| void ParseCrypto | ( | ) |
References DefCrypto, XrdOucString::tokenize(), ncrypt, NCRYPTMAX, XrdCryptoFactory::GetCryptoFactory(), and PRT.
Referenced by main().
| bool ReadPasswd | ( | XrdOucString & | tag, |
| XrdOucString & | pwd, | ||
| int & | st | ||
| ) |
References XrdOucString::length(), PRT, fopen, XrdOucString::c_str(), and fclose().
Referenced by main().
| bool ReadPuk | ( | int & | npuk, |
| XrdOucString * | tpuk, | ||
| XrdOucString * | puk | ||
| ) |
References XrdOucString::length(), PRT, fopen, XrdOucString::c_str(), kMAXPUK, and fclose().
| bool ReadPuk | ( | ) |
References XrdOucString::length(), PRT, open(), XrdOucString::c_str(), read(), close, ncrypt, and XrdCryptoFactory::Cipher().
| void SavePasswd | ( | XrdOucString | tag, |
| XrdOucString | pwd, | ||
| bool | onetime | ||
| ) |
References XrdOucString::length(), PRT, XrdOucString::c_str(), Dir, GenPwdRef, XrdSutMkdir(), open(), SrvName, SrvID, write(), XrdOucString::assign(), ncrypt, XrdCryptoFactory::ID(), XrdCryptoCipher::Public(), and close.
Referenced by main().
| bool SavePuk | ( | ) |
References XrdOucString::length(), PRT, Dir, GenPukRef, XrdSutMkdir(), XrdOucString::c_str(), XrdSutTimeString(), open(), ncrypt, XrdCryptoCipher::AsBucket(), XrdSutBucket::size, close, XrdCryptoFactory::ID(), and write().
Referenced by main().
| XrdOucString AdminRef = "pwdadmin" |
| bool Backup = 1 |
| XrdCryptoFactory** CF = 0 |
| bool Confirm = 1 |
Referenced by AskConfirm().
| XrdOucString CopyTag = "" |
Referenced by main().
| bool Create = 0 |
Referenced by XrdCmsConfig::Configure2(), XrdOfs::xnmsg(), XrdOfs::xnot(), and main().
| XrdOucString CryptList = "" |
| XrdOucString CryptMod[NCRYPTMAX] = {""} |
| int DebugON = 1 |
| XrdOucString DefCrypto = "ssl" |
Referenced by ParseCrypto().
| XrdOucString Dir = "" |
Referenced by SavePasswd(), SavePuk(), and ExpPuk().
| XrdOucString DirRef = "~/.xrd/" |
| XrdOucString Email = "" |
| XrdOucString EmailTag = "+++SrvEmail" |
| XrdOucString File = "" |
Referenced by XrdFrmXfrQueue::Stopped(), XrdSecProtocolpwd::QueryUser(), and main().
| bool Force = 0 |
Referenced by main(), and GetEntry().
| const char* gActionsStr[] |
{
"kA_undef",
"kA_add",
"kA_update",
"kA_read",
"kA_remove",
"kA_disable",
"kA_copy",
"kA_trim",
"kA_browse"
}
| XrdOucString GenPukRef = "/genpuk/" |
| XrdOucString GenPwdRef = "/genpwd/" |
Referenced by SavePasswd().
| const char* gModesStr[] |
{
"kM_undef",
"kM_admin",
"kM_user",
"kM_netrc",
"kM_srvpuk",
"kM_help"
}
| bool Hash = 1 |
Referenced by XrdCmsKey::setHash(), main(), and AddPassword().
| XrdOucString HostPuk[kMAXPUK] |
| XrdOucString HostTag = "+++SrvHost" |
| XrdOucString IDTag = "+++SrvID" |
| XrdOucString IterNum = "" |
Referenced by main(), and XrdSecProtocolpwd::DoubleHash().
Referenced by XrdSecProtocolpwd::DoubleHash(), and main().
| int Mode = kM_undef |
| XrdOucString NameTag = "" |
Referenced by main().
| int ncrypt = 0 |
Referenced by main(), ParseCrypto(), SavePasswd(), SavePuk(), ReadPuk(), GeneratePuk(), LocateFactoryIndex(), and ExpPuk().
| XrdOucString NetRcRef = "pwdnetrc" |
| int NoBackup = 1 |
| XrdOucString Path = "" |
Referenced by XrdCksManager::~XrdCksManager(), XrdCksManager::Config(), XrdCksManager::Init(), XrdCmsCluster::Locate(), XrdCmsParser::Decode(), XrdCmsXmiReq::XrdCmsXmiReq(), XrdCmsXmiReq::~XrdCmsXmiReq(), XrdCnsLog::Dirs(), XrdCnsSsiApplyF(), XrdCnsSsiApplyD(), XrdFrcCID::Init(), XrdFrmAdmin::AuditNameXB(), XrdFrmAdmin::AuditNameXL(), XrdFrmAdmin::AuditSpace(), XrdFrmAdmin::AuditUsage(), XrdFrmAdmin::x2xPaths(), XrdOfsFile::open(), XrdOfs::fsctl(), XrdOss::Lfn2Pfn(), XrdOssCache::Parse(), XrdOssSys::SetFattr(), XrdOssPath::genPFN(), XrdOucXAttr< XrdFrcXAttrCpy >::Del(), XrdOucXAttr< XrdFrcXAttrCpy >::Get(), XrdOucXAttr< XrdFrcXAttrCpy >::Set(), and XrdXrootdProtocol::do_Locate().
| XrdOucString PukFile = "/home/ganis/.xrd/genpuk/puk.07May2005-0849" |
Referenced by ExpPuk().
| XrdOucString PukTag = "+++SrvPuk" |
| XrdOucString PwdFile = "" |
| XrdCryptoCipher** RefCip = 0 |
| bool SavePw = 1 |
Referenced by main(), and AddPassword().
| XrdOucString SrvID = "" |
Referenced by SavePasswd(), and ExpPuk().
| XrdOucString SrvName = "" |
Referenced by SavePasswd().
| XrdOucString SrvPukRef = "pwdsrvpuk" |
| XrdOucString TagHostPuk[kMAXPUK] |
| XrdOucString UserRef = "pwduser" |
| const char* XrdSecpwdSrvAdminCVSID = "$Id$" |
1.7.5