~ubuntu-branches/debian/stretch/kdesvn/stretch

« back to all changes in this revision

Viewing changes to src/helpers/sshagent.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Michael Biebl
  • Date: 2010-08-24 22:14:04 UTC
  • mfrom: (1.3.8 upstream)
  • Revision ID: james.westby@ubuntu.com-20100824221404-pfn3du89h6l2rjo0
Tags: 1.5.4-1
* New upstream release.
* debian/control
  - Bump Standards-Version to 3.9.1.
  - Use Breaks instead of Conflicts as recommended by the new policy.
  - Drop old Conflicts against kdesdk-misc which is no longer necessary.

Show diffs side-by-side

added added

removed removed

Lines of Context:
79
79
            m_authSock = QString::fromLocal8Bit(sock);
80
80
        /* make sure that we have a askpass program.
81
81
         * on some systems something like that isn't installed.*/
82
 
#ifdef FORCE_ASKPASS
83
 
        kDebug(9510)<<"Using test askpass"<<endl;
84
 
#ifdef HAS_SETENV
85
 
            ::setenv("SSH_ASKPASS",FORCE_ASKPASS,1);
86
 
#else
87
 
            ::putenv("SSH_ASKPASS="FORCE_ASKPASS);
88
 
#endif
89
 
#else
90
 
            QString pro = BIN_INSTALL_DIR;
91
 
            if (pro.size()>0) {
92
 
                pro.append("/");
93
 
            }
94
 
            pro.append("kdesvnaskpass");
95
 
#ifdef HAS_SETENV
96
 
            ::setenv("SSH_ASKPASS", pro.toAscii(),1);
97
 
#else
98
 
            pro = "SSH_ASKPASS="+pro;
99
 
            ::putenv(pro.toAscii());
100
 
#endif
101
 
/*
102
 
        }
103
 
*/
104
 
#endif
105
82
        m_isOurAgent = false;
106
83
        m_isRunning  = true;
107
84
    }
111
88
        m_isOurAgent = true;
112
89
        m_isRunning  = startSshAgent();
113
90
    }
114
 
 
 
91
    askPassEnv();
115
92
    return m_isRunning;
116
93
}
117
94
 
 
95
void SshAgent::askPassEnv()
 
96
{
 
97
#ifdef FORCE_ASKPASS
 
98
    kDebug(9510)<<"Using test askpass"<<endl;
 
99
#ifdef HAS_SETENV
 
100
    ::setenv("SSH_ASKPASS",FORCE_ASKPASS,1);
 
101
#else
 
102
    ::putenv("SSH_ASKPASS="FORCE_ASKPASS);
 
103
#endif
 
104
#else
 
105
    QString pro = BIN_INSTALL_DIR;
 
106
    if (pro.size()>0) {
 
107
        pro.append("/");
 
108
    }
 
109
    pro.append("kdesvnaskpass");
 
110
#ifdef HAS_SETENV
 
111
    ::setenv("SSH_ASKPASS", pro.toAscii(),1);
 
112
#else
 
113
    pro = "SSH_ASKPASS="+pro;
 
114
    ::putenv(pro.toAscii());
 
115
#endif
 
116
#endif
 
117
}
 
118
 
118
119
 
119
120
bool SshAgent::addSshIdentities(bool force)
120
121
{
137
138
    kDebug(9510)<<"Using test askpass"<<endl;
138
139
    proc.setEnv("SSH_ASKPASS",FORCE_ASKPASS);
139
140
#else
 
141
    kDebug(9510) << "Using kdesvnaskpass"<<endl;
140
142
    proc.setEnv("SSH_ASKPASS", "kdesvnaskpass");
141
143
#endif
142
144
 
146
148
    proc.waitForFinished(-1);
147
149
 
148
150
    m_addIdentitiesDone = proc.exitStatus()==QProcess::NormalExit && proc.exitStatus() == 0;
 
151
    askPassEnv();
149
152
    return m_addIdentitiesDone;
150
153
}
151
154