56 class TCHREISAKMP; |
56 class TCHREISAKMP; |
57 class ThdrISAKMP; |
57 class ThdrISAKMP; |
58 class CIkev1PluginSession; |
58 class CIkev1PluginSession; |
59 class MIkeDebug; |
59 class MIkeDebug; |
60 |
60 |
61 class CAuthDialogInfo : public CBase |
61 |
|
62 NONSHARABLE_CLASS(CAuthDialogInfo) : public CBase |
62 { |
63 { |
63 public: |
64 public: |
64 CAuthDialogInfo(CIkev1PluginSession* aPluginSession, TUint32 aObjId, TUint32 aSAId, TUint32 aMsgId) |
65 CAuthDialogInfo(CIkev1PluginSession* aPluginSession, TUint32 aObjId, TUint32 aSAId, TUint32 aMsgId) |
65 { iPluginSession = aPluginSession; iSAId = aSAId; iObjId = aObjId; iMsgId = aMsgId; } |
66 { iPluginSession = aPluginSession; iSAId = aSAId; iObjId = aObjId; iMsgId = aMsgId; } |
66 ~CAuthDialogInfo() {iObjId = 0;} |
67 ~CAuthDialogInfo(); |
67 inline CIkev1PluginSession* PluginSession() { return iPluginSession;} |
68 inline CIkev1PluginSession* PluginSession() { return iPluginSession;} |
68 inline TUint32 SAId() { return iSAId;} |
69 inline TUint32 SAId() { return iSAId;} |
69 inline TUint32 GetObjId() { return iObjId;} |
70 inline TUint32 GetObjId() { return iObjId;} |
70 inline TUint32 GetMsgId() { return iMsgId;} |
71 inline TUint32 GetMsgId() { return iMsgId;} |
71 |
72 |
|
73 void SetUserName( HBufC8* aUserName ); |
|
74 void SetSecret( HBufC8* aSecret ); |
|
75 |
72 private: |
76 private: |
73 TUint32 iObjId; // Object identifier |
77 TUint32 iObjId; // Object identifier |
74 CIkev1PluginSession* iPluginSession; // Plugin session pointer |
78 CIkev1PluginSession* iPluginSession; // Plugin session pointer |
75 TUint32 iSAId; // SA id of CIkev1Negotiation |
79 TUint32 iSAId; // SA id of CIkev1Negotiation |
76 TUint32 iMsgId; // Transaction exchange message ID |
80 TUint32 iMsgId; // Transaction exchange message ID |
77 |
81 |
78 public: |
82 public: |
79 // Credentials data get from user with asynchronous dialog |
83 /** |
80 HBufC8 *iUsername; |
84 * Username from UI dialog or cache. |
81 HBufC8 *iSecret; |
85 * Own. |
82 HBufC8 *iDomain; |
86 */ |
|
87 HBufC8* iUsername; |
|
88 |
|
89 /** |
|
90 * Secret from UI dialog or cache. |
|
91 * Own. |
|
92 */ |
|
93 HBufC8* iSecret; |
83 }; |
94 }; |
84 |
95 |
85 |
96 |
86 NONSHARABLE_CLASS(CIKECRACKNegotiation) : public CBase, public MIkeDialogComplete |
97 NONSHARABLE_CLASS(CIKECRACKNegotiation) : public CBase, public MIkeDialogComplete |
87 { |
98 { |
90 ~CIKECRACKNegotiation(); |
101 ~CIKECRACKNegotiation(); |
91 TInt ConstructL(TInt aLAMType, CIkev1Negotiation *aNegotiation, const TDesC &aDomain); |
102 TInt ConstructL(TInt aLAMType, CIkev1Negotiation *aNegotiation, const TDesC &aDomain); |
92 TInt ExecuteCRACKMsgL(const ThdrISAKMP &aHdr); |
103 TInt ExecuteCRACKMsgL(const ThdrISAKMP &aHdr); |
93 TInt ProcessUserResponseL(CAuthDialogInfo *aUserInfo); |
104 TInt ProcessUserResponseL(CAuthDialogInfo *aUserInfo); |
94 TInt CrackAuthenticationFailedL(const TNotificationISAKMP *aNotifPayload); |
105 TInt CrackAuthenticationFailedL(const TNotificationISAKMP *aNotifPayload); |
95 |
106 |
96 TInt DialogCompleteL(CIkev1Dialog* /*aDialog*/, TAny* aUserInfo, HBufC8* aUsername, HBufC8* aSecret, HBufC8* aDomain); |
107 TInt DialogCompleteL(TAny* aUserInfo, HBufC8* aUsername, HBufC8* aSecret); |
97 |
|
98 |
108 |
99 private: |
109 private: |
100 TInt GetDataL(HBufC8* aChallenge); |
110 TInt GetDataL(HBufC8* aChallenge); |
101 TInt GetDatafromUserL(HBufC8 *aChallenge); |
111 TInt GetDatafromUserL(HBufC8 *aChallenge); |
102 TInt GetUNPWDFromPolicyL(); |
112 TInt GetUNPWDFromPolicyL(); |
115 CIkev1Dialog* iDialog; // Pending dialog object |
125 CIkev1Dialog* iDialog; // Pending dialog object |
116 CAuthDialogInfo* iDialogInfo; // Dialog info object |
126 CAuthDialogInfo* iDialogInfo; // Dialog info object |
117 |
127 |
118 HBufC8 *iUserName; // Saved for User name caching |
128 HBufC8 *iUserName; // Saved for User name caching |
119 HBufC8 *iDomain; // Fixed domain value for this CRACK negotiation |
129 HBufC8 *iDomain; // Fixed domain value for this CRACK negotiation |
120 |
130 |
121 MIkeDebug& iDebug; |
131 MIkeDebug& iDebug; |
122 }; |
132 }; |
123 |
133 |
124 |
134 |
125 #endif // IKEV1CRACK_H |
135 #endif // IKEV1CRACK_H |