#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.