Exemplo n.º 1
0
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 );
}
Exemplo n.º 2
0
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
Exemplo n.º 3
0
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 );
}
Exemplo n.º 4
0
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 );
}