diff options
Diffstat (limited to 'lib/libtdekrb/src/tdekrbclientsocket.h')
| -rw-r--r-- | lib/libtdekrb/src/tdekrbclientsocket.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/libtdekrb/src/tdekrbclientsocket.h b/lib/libtdekrb/src/tdekrbclientsocket.h index ddba47a..48ec09a 100644 --- a/lib/libtdekrb/src/tdekrbclientsocket.h +++ b/lib/libtdekrb/src/tdekrbclientsocket.h @@ -33,6 +33,14 @@ class TDEKerberosClientSocket : public TQSocket Q_OBJECT public: + enum KerberosStatus { + KerberosNotRequested, + KerberosFailure, + KerberosInitializing, + KerberosInUse + }; + + public: TDEKerberosClientSocket(TQObject *parent=0, const char *name=0); virtual ~TDEKerberosClientSocket(); @@ -54,6 +62,8 @@ class TDEKerberosClientSocket : public TQSocket void setServiceName(TQString name); void setServerFQDN(TQString name); + KerberosStatus kerberosStatus() const; + private: int initializeKerberosInterface(); void freeKerberosConnection(); @@ -62,6 +72,9 @@ class TDEKerberosClientSocket : public TQSocket int transmitEncryptedData(int fd, const char* readbuf, int cc); int receiveEncryptedData(char *buf, unsigned int trunclen, bool shouldblock=true); + private slots: + void continueKerberosInitialization(); + private: bool m_kerberosRequested; TQString m_serviceName; @@ -69,11 +82,15 @@ class TDEKerberosClientSocket : public TQSocket int m_criticalSection; TQBuffer* m_buffer; long m_bufferLength; + bool m_krbInitRunning; + int m_krbInitState; bool* m_canary; private: SASLDataPrivate *saslData; unsigned int m_negotiatedMaxBufferSize; + int m_krbInitResult; + int m_krbInitServerLast; }; #endif // TDEKRBCLIENTSOCKET_H
\ No newline at end of file |
