got=rou_freestr(got);
}
break;
- case 3 : //initiating TLS-Crypted mode
- if (soc_starttls(socptr)==false)
+ case 3 : //initiating TLS-Crypted in client mode
+ if (soc_starttls(socptr,false)==false)
phase=999;
break;
case 4 : //eveythin is fine SOC in crypted mode
/* crypted channel, return true is successful. */
/* */
/********************************************************/
-PUBLIC _Bool soc_starttls(SOCPTR *socptr)
+PUBLIC _Bool soc_starttls(SOCPTR *socptr,_Bool server)
{
_Bool ok;
extern SOCPTR *soc_release(SOCPTR *socptr);
//procedure to initiate crypted mode on plain channel
-extern _Bool soc_starttls(SOCPTR *socptr);
+extern _Bool soc_starttls(SOCPTR *socptr,_Bool server);
//return flag true if socet is in crypted mode
extern _Bool soc_iscrypted(SOCPTR *socptr);
case c_rset : //Doing session reset
proceed=doreset(contact,line);
break;
- case c_starttls : //EHLO start encryptel link
- switch (soc_starttls(contact->socptr)) {
+ case c_starttls : //EHLO start encrypted link in server mode
+ switch (soc_starttls(contact->socptr,true)) {
case true : //link now in TLS crypted mode
(void) transmit(contact,"%d Link now encrypted",CMDOK);
(void) rou_alert(0,"%s, CMDOK sent",OPEP);