bool CManager::CheckKeys( const char *p, const unsigned char *rsaString, char *encrypted, bool &ret ) { bool cont = false; char target[BUFSIZ]; bool checkPassword = true; bool checkOauthToken = true; bool checkOauthTokenSecret = true; sprintf( target, "passwordFor%sEncrypted", (const char *)m_serviceSymbol ); if ( evalKey( p, target, encrypted ) ) { checkKey( m_password, (unsigned char *)encrypted, rsaString, checkPassword ); cont = true; } if ( cont == false ) { sprintf( target, "oauthTokenFor%sEncrypted", (const char *)m_serviceSymbol ); if ( evalKey( p, target, encrypted ) ) { checkKey( m_oauthToken, (unsigned char *)encrypted, rsaString, checkOauthToken ); cont = true; } } if ( cont == false ) { sprintf( target, "oauthTokenSecretFor%sEncrypted", (const char *)m_serviceSymbol ); if ( evalKey( p, target, encrypted ) ) { checkKey( m_oauthTokenSecret, (unsigned char *)encrypted, rsaString, checkOauthTokenSecret ); cont = true; } } ret &= (checkPassword & checkOauthToken & checkOauthTokenSecret); return ( cont ); }
int Params::option(int opt, const std::string& optarg, int optopt) { int rc = 0; switch (opt) { case 'h': help_ = true; break; case 'V': version_ = true; break; case 'v': verbose_ = true; break; case 'q': Exiv2::LogMsg::setLevel(Exiv2::LogMsg::mute); break; case 'Q': rc = setLogLevel(optarg); break; case 'k': preserve_ = true; break; case 'b': binary_ = false; break; case 'u': unknown_ = false; break; case 'f': force_ = true; fileExistsPolicy_ = overwritePolicy; break; case 'F': force_ = true; fileExistsPolicy_ = renamePolicy; break; case 'g': rc = evalGrep(optarg); printMode_ = pmList; break; case 'K': rc = evalKey(optarg); printMode_ = pmList; break; case 'n': charset_ = optarg; break; case 'r': rc = evalRename(opt, optarg); break; case 't': rc = evalRename(opt, optarg); break; case 'T': rc = evalRename(opt, optarg); break; case 'a': rc = evalAdjust(optarg); break; case 'Y': rc = evalYodAdjust(yodYear, optarg); break; case 'O': rc = evalYodAdjust(yodMonth, optarg); break; case 'D': rc = evalYodAdjust(yodDay, optarg); break; case 'p': rc = evalPrint(optarg); break; case 'P': rc = evalPrintFlags(optarg); break; case 'd': rc = evalDelete(optarg); break; case 'e': rc = evalExtract(optarg); break; case 'i': rc = evalInsert(optarg); break; case 'c': rc = evalModify(opt, optarg); break; case 'm': rc = evalModify(opt, optarg); break; case 'M': rc = evalModify(opt, optarg); break; case 'l': directory_ = optarg; break; case 'S': suffix_ = optarg; break; case ':': std::cerr << progname() << ": " << _("Option") << " -" << static_cast<char>(optopt) << " " << _("requires an argument\n"); rc = 1; break; case '?': std::cerr << progname() << ": " << _("Unrecognized option") << " -" << static_cast<char>(optopt) << "\n"; rc = 1; break; default: std::cerr << progname() << ": " << _("getopt returned unexpected character code") << " " << std::hex << opt << "\n"; rc = 1; break; } return rc; } // Params::option
bool CManager::EvalKeys( TIMELINE_INFO *t, const char *timelineType, const char *p ) { bool ret = false; char target[BUFSIZ]; if ( ret == false ) { sprintf( target, "check%sTimelineFor%s", timelineType, (const char *)m_serviceSymbol ); if ( evalKey( p, target, t->checkTimeline ) ) ret = true; } if ( ret == false ) { sprintf( target, "check%sChannelFor%s", timelineType, (const char *)m_serviceSymbol ); if ( evalKey( p, target, t->checkChannel ) ) ret = true; } if ( ret == false ) { sprintf( target, "logFileNameOf%sTimelineFor%s", timelineType, (const char *)m_serviceSymbol ); if ( evalKey( p, target, t->logFileName ) ) ret = true; } if ( ret == false ) { sprintf( target, "checkLogFileOf%sTimelineFor%s", timelineType, (const char *)m_serviceSymbol ); if ( evalKey( p, target, t->checkLogFile ) ) ret = true; } return ( ret ); }
bool CManager::EvalKeys( const char *p, const unsigned char *rsaString, char *encrypted ) { bool ret = false; char target[BUFSIZ]; sprintf( target, "usernameFor%s", (const char *)m_serviceSymbol ); if ( evalKey( p, target, m_username ) ) ret = true; if ( ret == false ) { sprintf( target, "passwordFor%sEncrypted", (const char *)m_serviceSymbol ); if ( evalKey( p, target, encrypted ) ) { extractKey( m_password, (unsigned char *)encrypted, (unsigned char *)rsaString ); ret = true; } } if ( ret == false ) { sprintf( target, "useOAuthFor%s", (const char *)m_serviceSymbol ); if ( evalKey( p, target, m_useOAuth ) ) ret = true; } if ( ret == false ) { sprintf( target, "useBasicFor%s", (const char *)m_serviceSymbol ); if ( evalKey( p, target, m_useBASIC ) ) ret = true; } if ( ret == false ) { sprintf( target, "oauthTokenFor%sEncrypted", (const char *)m_serviceSymbol ); if ( evalKey( p, target, encrypted ) ) { extractKey( m_oauthToken, (unsigned char *)encrypted, (unsigned char *)rsaString ); ret = true; } } if ( ret == false ) { sprintf( target, "oauthTokenSecretFor%sEncrypted", (const char *)m_serviceSymbol ); if ( evalKey( p, target, encrypted ) ) { extractKey( m_oauthTokenSecret, (unsigned char *)encrypted, (unsigned char *)rsaString ); ret = true; } } if ( ret == false ) { sprintf( target, "screennameFor%s", (const char *)m_serviceSymbol ); if ( evalKey( p, target, m_screenName ) ) ret = true; } if ( ret == false ) { sprintf( target, "simultaneousPostAs%s", (const char *)m_serviceSymbol ); if ( evalKey( p, target, m_simultaneousPost ) ) ret = true; } if ( ret == false ) ret = EvalKeys( &m_sFriendsTimeline, "Friends", p ); if ( ret == false ) ret = EvalKeys( &m_sPublicTimeline, "Public", p ); if ( ret == false ) ret = EvalKeys( &m_sUserTimeline, "User", p ); return ( ret ); }