#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>Go to the source code of this file.
Defines | |
| #define | NCRYPTMAX 10 |
| #define | PRT(x) {cerr <<x <<endl;} |
| #define | kMAXPWDATT 3 |
| #define | kMAXPUK 5 |
Enumerations | |
| enum | kModes |
| enum | kActions |
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: XrdSecpwdSrvAdmin.cc 30949 2009-11-02 16:37:58Z ganis $" |
| 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 |
| #define kMAXPWDATT 3 |
| #define NCRYPTMAX 10 |
Definition at line 189 of file XrdSecpwdSrvAdmin.cc.
| enum kActions |
Definition at line 89 of file XrdSecpwdSrvAdmin.cc.
| enum kModes |
Definition at line 73 of file XrdSecpwdSrvAdmin.cc.
| bool AddPassword | ( | XrdSutPFEntry & | ent, | |
| bool & | newpw, | |||
| const char * | pwd = 0 | |||
| ) |
Definition at line 1723 of file XrdSecpwdSrvAdmin.cc.
References XrdSutPFEntry::buf1, XrdOucString::c_str(), XrdOucString::find(), Hash, XrdOucString::insert(), kMAXPWDATT, XrdOucString::length(), PRT, XrdSutPFBuf::SetBuf(), and XrdSutGetPass().
| bool AddPassword | ( | XrdSutPFEntry & | ent, | |
| XrdOucString | salt, | |||
| XrdOucString & | ranpwd, | |||
| bool | random, | |||
| bool | checkpw, | |||
| bool & | newpw | |||
| ) |
Definition at line 1593 of file XrdSecpwdSrvAdmin.cc.
References XrdSutPFBuf::buf, XrdSutPFEntry::buf1, XrdSutPFEntry::buf2, XrdOucString::c_str(), XrdOucString::find(), XrdSutRndm::GetString(), XrdOucString::hardreset(), XrdOucString::insert(), IterNum, KDFunLen, kMAXPWDATT, XrdSutPFBuf::len, XrdOucString::length(), PRT, SavePw, XrdSutPFBuf::SetBuf(), and XrdSutGetPass().
Referenced by main().
| bool AskConfirm | ( | const char * | msg1, | |
| bool | defact, | |||
| const char * | msg2 = 0 | |||
| ) |
Definition at line 1916 of file XrdSecpwdSrvAdmin.cc.
References XrdOucString::c_str(), Confirm, XrdOucString::insert(), XrdOucString::length(), XrdOucString::lower(), PRT, and XrdSutGetLine().
Referenced by main().
| bool CheckOption | ( | XrdOucString | opt, | |
| const char * | ref, | |||
| int & | ival | |||
| ) |
| bool ExpPuk | ( | const char * | puk = 0, |
|
| bool | read = 1 | |||
| ) |
Definition at line 2339 of file XrdSecpwdSrvAdmin.cc.
References buf, XrdOucString::c_str(), CF, close, Dir, dir(), GenPukRef, i, XrdCryptoFactory::ID(), ncrypt, open, opendir, PRT, XrdCryptoCipher::Public(), PukFile, readdir, ReadPuk(), RefCip, SrvID, SrvName, stat, and write.
Referenced by main().
| int GeneratePuk | ( | ) |
Definition at line 2293 of file XrdSecpwdSrvAdmin.cc.
References CF, XrdCryptoFactory::Cipher(), CryptMod, XrdCryptoFactory::GetCryptoFactory(), i, ncrypt, PRT, and RefCip.
Referenced by main().
| bool GetEntry | ( | XrdSutPFile * | ff, | |
| XrdOucString | tag, | |||
| XrdSutPFEntry & | ent, | |||
| bool & | check | |||
| ) |
Definition at line 1888 of file XrdSecpwdSrvAdmin.cc.
References XrdSutPFEntry::AsString(), XrdOucString::c_str(), XrdSutPFEntry::cnt, Force, XrdSutPFile::Name(), PRT, XrdSutPFile::ReadEntry(), and XrdSutPFEntry::SetName().
Referenced by G__G__Eve1_378_0_12(), G__G__Graf_200_0_16(), G__G__Gui1_232_0_40(), G__G__Gui1_232_0_42(), G__G__Gui2_246_0_24(), G__G__Hbook_166_0_17(), G__G__RooFitCore3_140_0_32(), TRefProxy::GetObject(), main(), and TEveTransSubEditor::SetModel().
| int LocateFactoryIndex | ( | char * | tag, | |
| int & | id | |||
| ) |
Definition at line 2318 of file XrdSecpwdSrvAdmin.cc.
References XrdOucString::c_str(), CF, XrdOucString::erase(), j, ncrypt, PRT, and XrdOucString::rfind().
Referenced by main().
| int main | ( | int | argc, | |
| char ** | argv | |||
| ) |
Definition at line 197 of file XrdSecpwdSrvAdmin.cc.
References Action, AddPassword(), ans(), XrdCryptoCipher::AsBucket(), AskConfirm(), XrdSutPFEntry::AsString(), XrdSutPFBuf::buf, XrdSutPFEntry::buf1, XrdSutPFEntry::buf2, XrdSutPFEntry::buf3, XrdSutPFEntry::buf4, XrdSutBucket::buffer, c, XrdOucString::c_str(), CF, Change, ChangePuk, ChangePwd, XrdSutPFEntry::cnt, CopyTag, Create, CryptMod, DontAsk, Email, EmailTag, XrdOucString::erase(), ExportPuk, ExpPuk(), File, Force, GeneratePuk(), XrdCryptoFactory::GetCryptoFactory(), GetEntry(), XrdSutRndm::GetString(), gModesStr, Hash, HostPuk, HostTag, i, id, XrdCryptoFactory::ID(), IDTag, Import, XrdSutRndm::Init(), XrdOucString::insert(), IterNum, j, k, kA_add, kA_browse, kA_copy, kA_disable, kA_read, kA_remove, kA_trim, kA_update, XrdCryptoFactory::KDFun(), KDFun, XrdCryptoFactory::KDFunLen(), KDFunLen, kM_admin, kM_netrc, kM_srvpuk, kM_user, kPFE_allowed, kPFE_disabled, kPFE_ok, kPFE_onetime, kPFE_special, kPFEcreate, kPFErrNoFile, XrdSutPFBuf::len, length, XrdOucString::length(), LocateFactoryIndex(), Mode, XrdSutPFEntry::mtime, XrdSutPFEntry::name, NameTag, ncrypt, nHostPuk, ParseArguments(), ParseCrypto(), Passwd, PRT, PukFile, PukTag, passwd::pw_name, Random, ReadPasswd(), ReadPuk(), RefCip, XrdSutPFEntry::Reset(), SavePasswd(), SavePuk(), SavePw, XrdSutBucket::SetBuf(), XrdSutPFBuf::SetBuf(), SetEmail, SetHost, SetID, XrdSutPFEntry::SetName(), XrdSutBucket::size, sprintf(), SrvID, SrvName, XrdSutPFEntry::status, sutTRACE_Debug, TagHostPuk, XrdSutGetLine(), and XrdSutSetTrace().
| void Menu | ( | int | opt = 0 |
) |
| int ParseArguments | ( | int | argc, | |
| char ** | argv | |||
| ) |
| void ParseCrypto | ( | ) |
Definition at line 1536 of file XrdSecpwdSrvAdmin.cc.
References CF, CryptList, CryptMod, DefCrypto, XrdCryptoFactory::GetCryptoFactory(), i, ncrypt, NCRYPTMAX, PRT, RefCip, and XrdOucString::tokenize().
Referenced by main().
| bool ReadPasswd | ( | XrdOucString & | tag, | |
| XrdOucString & | pwd, | |||
| int & | st | |||
| ) |
| bool ReadPuk | ( | ) |
Definition at line 2206 of file XrdSecpwdSrvAdmin.cc.
References XrdOucString::c_str(), CF, XrdCryptoFactory::Cipher(), close, i, XrdOucString::length(), ncrypt, open, PRT, PukFile, read, and RefCip.
| bool ReadPuk | ( | int & | npuk, | |
| XrdOucString * | tpuk, | |||
| XrdOucString * | puk | |||
| ) |
Definition at line 2035 of file XrdSecpwdSrvAdmin.cc.
References XrdOucString::c_str(), fclose(), fopen, i, kMAXPUK, XrdOucString::length(), line, PRT, PukFile, s1, and s2.
| void SavePasswd | ( | XrdOucString | tag, | |
| XrdOucString | pwd, | |||
| bool | onetime | |||
| ) |
Definition at line 1797 of file XrdSecpwdSrvAdmin.cc.
References buf, XrdOucString::c_str(), CF, close, Dir, GenPwdRef, i, XrdCryptoFactory::ID(), XrdOucString::length(), ncrypt, open, PRT, XrdCryptoCipher::Public(), pwd(), PwdFile, RefCip, SrvID, SrvName, write, and XrdSutMkdir().
Referenced by main().
| bool SavePuk | ( | ) |
Definition at line 2096 of file XrdSecpwdSrvAdmin.cc.
References XrdCryptoCipher::AsBucket(), buffer, XrdOucString::c_str(), CF, close, Dir, GenPukRef, i, XrdCryptoFactory::ID(), XrdOucString::length(), ncrypt, open, PRT, PukFile, RefCip, XrdSutBucket::size, tstr, write, XrdSutMkdir(), and XrdSutTimeString().
Referenced by main().
| int Action = kA_undef |
Definition at line 129 of file XrdSecpwdSrvAdmin.cc.
Referenced by G__G__Base1_134_0_10(), G__G__Base1_134_0_6(), G__G__Base1_134_0_7(), G__G__Base1_134_0_8(), G__G__Base1_134_0_9(), G__G__GPad_175_0_4(), and main().
| XrdOucString AdminRef = "pwdadmin" |
Definition at line 116 of file XrdSecpwdSrvAdmin.cc.
| bool Backup = 1 |
Definition at line 140 of file XrdSecpwdSrvAdmin.cc.
| XrdCryptoFactory** CF = 0 |
Definition at line 165 of file XrdSecpwdSrvAdmin.cc.
Referenced by ExpPuk(), GeneratePuk(), XrdSecProtocolgsi::LoadCRL(), LocateFactoryIndex(), main(), ParseCrypto(), ReadPuk(), SavePasswd(), SavePuk(), and XrdSecProtocolgsi::VerifyCA().
| bool Change = 1 |
| bool ChangePuk = 0 |
| bool ChangePwd = 0 |
| bool Confirm = 1 |
| XrdOucString CopyTag = "" |
| bool Create = 0 |
Definition at line 150 of file XrdSecpwdSrvAdmin.cc.
Referenced by ClassImp(), Reflex::PluginService::Create(), G__G__Base1_159_0_5(), G__G__Base1_77_0_17(), G__G__GPad_175_0_3(), G__G__TMVA3_312_0_31(), ROOT::TCollectionProxyInfo::Generate(), Reflex::CFTGenerator< T >::Generate(), ROOT::TCollectionProxyInfo::Get(), main(), TMVA::MethodCompositeBase::ReadWeightsFromStream(), and TMVA::MethodCompositeBase::ReadWeightsFromXML().
| XrdOucString CryptList = "" |
Definition at line 161 of file XrdSecpwdSrvAdmin.cc.
Referenced by XrdSecProtocolpwd::Authenticate(), XrdSecProtocolgsi::Authenticate(), XrdSecProtocolgsi::getCredentials(), XrdSecProtocolpwd::getCredentials(), and ParseCrypto().
| XrdOucString CryptMod[NCRYPTMAX] = {""} |
Definition at line 163 of file XrdSecpwdSrvAdmin.cc.
Referenced by GeneratePuk(), main(), and ParseCrypto().
| int DebugON = 1 |
Definition at line 114 of file XrdSecpwdSrvAdmin.cc.
| XrdOucString DefCrypto = "ssl" |
| XrdOucString Dir = "" |
Definition at line 135 of file XrdSecpwdSrvAdmin.cc.
Referenced by TMVA::MethodMLP::BFGSMinimize(), TMVA::MethodMLP::DerivDir(), ExpPuk(), G__G__Table_138_0_16(), TMVA::MethodMLP::LineSearch(), SavePasswd(), SavePuk(), TMVA::MethodMLP::SetDirWeights(), and TMVA::MethodMLP::SteepestDir().
| XrdOucString DirRef = "~/.xrd/" |
Definition at line 115 of file XrdSecpwdSrvAdmin.cc.
| bool DontAsk = 0 |
| XrdOucString Email = "" |
| XrdOucString EmailTag = "+++SrvEmail" |
| bool ExportPuk = 0 |
| XrdOucString File = "" |
Definition at line 133 of file XrdSecpwdSrvAdmin.cc.
Referenced by DGifCloseFile(), EGifCloseFile(), main(), XrdSecProtocolpwd::QueryUser(), and XrdFrmXfrQueue::Stopped().
| bool Force = 0 |
| const char* gActionsStr[] |
Initial value:
{
"kA_undef",
"kA_add",
"kA_update",
"kA_read",
"kA_remove",
"kA_disable",
"kA_copy",
"kA_trim",
"kA_browse"
}
Definition at line 100 of file XrdSecpwdSrvAdmin.cc.
| XrdOucString GenPukRef = "/genpuk/" |
| XrdOucString GenPwdRef = "/genpwd/" |
| const char* gModesStr[] |
Initial value:
{
"kM_undef",
"kM_admin",
"kM_user",
"kM_netrc",
"kM_srvpuk",
"kM_help"
}
Definition at line 81 of file XrdSecpwdSrvAdmin.cc.
| bool Hash = 1 |
Definition at line 153 of file XrdSecpwdSrvAdmin.cc.
Referenced by AddPassword(), G__G__Base2_10_0_32(), G__G__Base2_13_0_84(), G__G__Base2_173_0_12(), THashTable::GetHashValue(), and main().
| XrdOucString HostPuk[kMAXPUK] |
| XrdOucString HostTag = "+++SrvHost" |
| XrdOucString IDTag = "+++SrvID" |
| bool Import = 0 |
Definition at line 152 of file XrdSecpwdSrvAdmin.cc.
Referenced by ClassImp(), G__G__Tree_152_0_21(), main(), rf102_dataimport(), rf401_importttreethx(), rf501_simultaneouspdf(), TestBasic102::testCode(), and TestBasic501::testCode().
| XrdOucString IterNum = "" |
Definition at line 166 of file XrdSecpwdSrvAdmin.cc.
Referenced by XrdSecProtocolpwd::DoubleHash(), and main().
Definition at line 167 of file XrdSecpwdSrvAdmin.cc.
Referenced by AddPassword(), XrdSecProtocolpwd::DoubleHash(), and main().
| int Mode = kM_undef |
Definition at line 128 of file XrdSecpwdSrvAdmin.cc.
| XrdOucString NameTag = "" |
| int ncrypt = 0 |
Definition at line 162 of file XrdSecpwdSrvAdmin.cc.
Referenced by ExpPuk(), GeneratePuk(), LocateFactoryIndex(), main(), ParseCrypto(), ReadPuk(), SavePasswd(), and SavePuk().
| XrdOucString NetRcRef = "pwdnetrc" |
Definition at line 118 of file XrdSecpwdSrvAdmin.cc.
| int nHostPuk |
| int NoBackup = 1 |
Definition at line 130 of file XrdSecpwdSrvAdmin.cc.
| bool Passwd = 1 |
| XrdOucString Path = "" |
Definition at line 134 of file XrdSecpwdSrvAdmin.cc.
Referenced by XrdFrmAdmin::AuditNameXA(), XrdFrmAdmin::AuditNameXL(), XrdFrmAdmin::AuditSpace(), XrdFrmAdmin::AuditUsage(), XrdCmsParser::Decode(), XrdFrmFileset::dirPath(), XrdXrootdProtocol::do_Locate(), XrdOfs::fsctl(), G__G__Table_138_0_38(), G__G__Table_138_0_39(), G__G__Table_139_0_39(), XrdFrmCID::Init(), XrdCmsCluster::Locate(), XrdOfsFile::open(), and XrdOssCache::Parse().
| XrdOucString PukFile = "/home/ganis/.xrd/genpuk/puk.07May2005-0849" |
| XrdOucString PukTag = "+++SrvPuk" |
| XrdOucString PwdFile = "" |
| bool Random = 0 |
Definition at line 145 of file XrdSecpwdSrvAdmin.cc.
Referenced by G__G__TMVA2_436_0_2(), main(), UnuranRng< Random >::Rndm(), and UnuranRng< Random >::Seed().
| XrdCryptoCipher** RefCip = 0 |
Definition at line 164 of file XrdSecpwdSrvAdmin.cc.
Referenced by ExpPuk(), GeneratePuk(), main(), ParseCrypto(), ReadPuk(), SavePasswd(), and SavePuk().
| bool SavePw = 1 |
| bool SetEmail = 0 |
| bool SetHost = 0 |
Definition at line 149 of file XrdSecpwdSrvAdmin.cc.
Referenced by G__G__Base3_171_0_25(), G__G__Base3_236_0_32(), G__G__RootAuth_126_0_34(), and main().
| bool SetID = 0 |
Definition at line 147 of file XrdSecpwdSrvAdmin.cc.
Referenced by G__G__Net_250_0_24(), and main().
| XrdOucString SrvID = "" |
Definition at line 136 of file XrdSecpwdSrvAdmin.cc.
Referenced by ExpPuk(), main(), and SavePasswd().
| XrdOucString SrvName = "" |
Definition at line 137 of file XrdSecpwdSrvAdmin.cc.
Referenced by ExpPuk(), main(), and SavePasswd().
| XrdOucString SrvPukRef = "pwdsrvpuk" |
Definition at line 119 of file XrdSecpwdSrvAdmin.cc.
| XrdOucString TagHostPuk[kMAXPUK] |
| XrdOucString UserRef = "pwduser" |
Definition at line 117 of file XrdSecpwdSrvAdmin.cc.
| const char* XrdSecpwdSrvAdminCVSID = "$Id: XrdSecpwdSrvAdmin.cc 30949 2009-11-02 16:37:58Z ganis $" |
Definition at line 3 of file XrdSecpwdSrvAdmin.cc.
1.5.1