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 AddPassword(), AskConfirm(), ExpPuk(), GeneratePuk(), GetEntry(), LocateFactoryIndex(), main(), Menu(), ParseCrypto(), ReadPasswd(), ReadPuk(), SavePasswd(), and SavePuk().
enum kActions |
enum kModes |
bool AddPassword | ( | XrdSutPFEntry & | ent, |
XrdOucString | salt, | ||
XrdOucString & | ranpwd, | ||
bool | random, | ||
bool | checkpw, | ||
bool & | newpw | ||
) |
References XrdSutPFBuf::buf, XrdSutPFEntry::buf1, XrdSutPFEntry::buf2, XrdOucString::c_str(), XrdOucString::find(), XrdSutRndm::GetString(), XrdOucString::hardreset(), XrdOucString::insert(), kMAXPWDATT, XrdSutPFBuf::len, XrdOucString::length(), PRT, SavePw, XrdSutPFBuf::SetBuf(), and XrdSutGetPass().
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 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 |
||
) |
References XrdOucString::assign(), XrdOucString::c_str(), close, Dir, GenPukRef, XrdCryptoFactory::ID(), XrdOucString::length(), ncrypt, open(), opendir(), PRT, XrdCryptoCipher::Public(), PukFile, readdir(), ReadPuk(), SrvID, stat(), and write().
Referenced by main().
int GeneratePuk | ( | ) |
References XrdCryptoFactory::Cipher(), XrdCryptoFactory::GetCryptoFactory(), ncrypt, and PRT.
Referenced by main().
bool GetEntry | ( | XrdSutPFile * | ff, |
XrdOucString | tag, | ||
XrdSutPFEntry & | ent, | ||
bool & | check | ||
) |
References XrdSutPFEntry::AsString(), XrdOucString::c_str(), XrdSutPFEntry::cnt, Force, XrdSutPFile::Name(), PRT, XrdSutPFile::ReadEntry(), and XrdSutPFEntry::SetName().
Referenced by main().
int LocateFactoryIndex | ( | char * | tag, |
int & | id | ||
) |
References XrdOucString::c_str(), XrdOucString::erase(), ncrypt, PRT, and XrdOucString::rfind().
Referenced by main().
int main | ( | int | argc, |
char ** | argv | ||
) |
References Action, AddPassword(), XrdCryptoCipher::AsBucket(), AskConfirm(), XrdSutPFEntry::AsString(), XrdSutPFBuf::buf, XrdSutPFEntry::buf1, XrdSutPFEntry::buf2, XrdSutPFEntry::buf3, XrdSutPFEntry::buf4, XrdSutBucket::buffer, XrdOucString::c_str(), Change, ChangePuk, ChangePwd, XrdSutPFEntry::cnt, CopyTag, Create, DontAsk, XrdOucString::erase(), ExportPuk, ExpPuk(), File, Force, GeneratePuk(), XrdCryptoFactory::GetCryptoFactory(), GetEntry(), XrdSutRndm::GetString(), gModesStr, Hash, XrdCryptoFactory::ID(), Import, XrdSutRndm::Init(), XrdOucString::insert(), 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, XrdOucString::length(), LocateFactoryIndex(), Mode, XrdSutPFEntry::mtime, XrdSutPFEntry::name, NameTag, ncrypt, nHostPuk, ParseArguments(), ParseCrypto(), Passwd, PRT, Random, ReadPasswd(), ReadPuk(), XrdSutPFEntry::Reset(), SavePasswd(), SavePuk(), SavePw, XrdSutBucket::SetBuf(), XrdSutPFBuf::SetBuf(), SetEmail, SetHost, SetID, XrdSutPFEntry::SetName(), XrdSutBucket::size, XrdSutPFEntry::status, sutTRACE_Debug, XrdSutGetLine(), and XrdSutSetTrace().
void Menu | ( | int | opt = 0 | ) |
References PRT.
int ParseArguments | ( | int | argc, |
char ** | argv | ||
) |
void ParseCrypto | ( | ) |
References DefCrypto, XrdCryptoFactory::GetCryptoFactory(), ncrypt, NCRYPTMAX, PRT, and XrdOucString::tokenize().
Referenced by main().
bool ReadPasswd | ( | XrdOucString & | tag, |
XrdOucString & | pwd, | ||
int & | st | ||
) |
References XrdOucString::c_str(), fclose(), fopen, XrdOucString::length(), and PRT.
Referenced by main().
bool ReadPuk | ( | int & | npuk, |
XrdOucString * | tpuk, | ||
XrdOucString * | puk | ||
) |
References XrdOucString::c_str(), fclose(), fopen, kMAXPUK, XrdOucString::length(), and PRT.
bool ReadPuk | ( | ) |
References XrdOucString::c_str(), XrdCryptoFactory::Cipher(), close, XrdOucString::length(), ncrypt, open(), PRT, and read().
void SavePasswd | ( | XrdOucString | tag, |
XrdOucString | pwd, | ||
bool | onetime | ||
) |
References XrdOucString::assign(), XrdOucString::c_str(), close, Dir, GenPwdRef, XrdCryptoFactory::ID(), XrdOucString::length(), ncrypt, open(), PRT, XrdCryptoCipher::Public(), SrvID, SrvName, write(), and XrdSutMkdir().
Referenced by main().
bool SavePuk | ( | ) |
References XrdCryptoCipher::AsBucket(), XrdOucString::c_str(), close, Dir, GenPukRef, XrdCryptoFactory::ID(), XrdOucString::length(), ncrypt, open(), PRT, XrdSutBucket::size, write(), XrdSutMkdir(), and XrdSutTimeString().
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(), and main().
XrdOucString CryptList = "" |
XrdOucString CryptMod[NCRYPTMAX] = {""} |
int DebugON = 1 |
XrdOucString DefCrypto = "ssl" |
Referenced by ParseCrypto().
XrdOucString Dir = "" |
Referenced by ExpPuk(), SavePasswd(), and SavePuk().
XrdOucString DirRef = "~/.xrd/" |
XrdOucString Email = "" |
XrdOucString EmailTag = "+++SrvEmail" |
XrdOucString File = "" |
Referenced by main(), XrdSecProtocolpwd::QueryUser(), and XrdFrmXfrQueue::Stopped().
bool Force = 0 |
Referenced by GetEntry(), and main().
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 AddPassword(), main(), and XrdCmsKey::setHash().
XrdOucString HostPuk[kMAXPUK] |
XrdOucString HostTag = "+++SrvHost" |
XrdOucString IDTag = "+++SrvID" |
XrdOucString IterNum = "" |
Referenced by XrdSecProtocolpwd::DoubleHash(), and main().
Referenced by XrdSecProtocolpwd::DoubleHash(), and main().
int Mode = kM_undef |
XrdOucString NameTag = "" |
Referenced by main().
int ncrypt = 0 |
Referenced by ExpPuk(), GeneratePuk(), LocateFactoryIndex(), main(), ParseCrypto(), ReadPuk(), SavePasswd(), and SavePuk().
XrdOucString NetRcRef = "pwdnetrc" |
int NoBackup = 1 |
XrdOucString Path = "" |
Referenced by XrdFrmAdmin::AuditNameXA(), XrdFrmAdmin::AuditNameXL(), XrdFrmAdmin::AuditSpace(), XrdFrmAdmin::AuditUsage(), XrdCmsParser::Decode(), XrdCnsLog::Dirs(), XrdXrootdProtocol::do_Locate(), XrdOfs::fsctl(), XrdOssPath::genPFN(), XrdFrmCID::Init(), XrdCmsCluster::Locate(), XrdOfsFile::open(), XrdOssCache::Parse(), XrdCmsXmiReq::XrdCmsXmiReq(), XrdCnsSsiApplyD(), XrdCnsSsiApplyF(), and XrdCmsXmiReq::~XrdCmsXmiReq().
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 AddPassword(), and main().
XrdOucString SrvID = "" |
Referenced by ExpPuk(), and SavePasswd().
XrdOucString SrvName = "" |
Referenced by SavePasswd().
XrdOucString SrvPukRef = "pwdsrvpuk" |
XrdOucString TagHostPuk[kMAXPUK] |
XrdOucString UserRef = "pwduser" |
const char* XrdSecpwdSrvAdminCVSID = "$Id$" |