Commit 6a9dafbb authored by Simon Morlat's avatar Simon Morlat

try to fix date issues

parent 85636915
......@@ -1798,7 +1798,7 @@ static void text_received(Sal *sal, eXosip_event_t *ev){
for(j=0;j<12;j++) {
if(strcmp(tmp2,months[j])==0) ret.tm_mon=j;
}
ret.tm_isdst=-1;
ret.tm_isdst=0;
}else ms_warning("No date header in SIP MESSAGE, we don't know when it was sent.");
content_type= osip_message_get_content_type(ev->request);
......
......@@ -81,23 +81,28 @@ void sal_remove_in_subscribe(Sal *sal, SalOp *op){
sal->in_subscribes=ms_list_remove(sal->in_subscribes,op);
}
#ifdef WIN32
static inline char *my_ctime_r(const time_t *t, char *buf){
strcpy(buf,ctime(t));
return buf;
}
static const char *days[]={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};
static const char *months[]={"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};
static void msg_add_current_date(osip_message_t *msg){
char tmp[64]={0};
time_t curtime=time(NULL);
struct tm *ret;
#ifndef WIN32
struct tm gmt;
ret=gmtime_r(&curtime,&gmt);
#else
#define my_ctime_r ctime_r
ret=gmtime(&curtime);
#endif
/*cannot use strftime because it is locale dependant*/
snprintf(tmp,sizeof(tmp)-1,"%s, %i %s %i %02i:%02i:%02i GMT",
days[ret->tm_wday],ret->tm_mday,months[ret->tm_mon],1900+ret->tm_year,ret->tm_hour,ret->tm_min,ret->tm_sec);
osip_message_replace_header(msg,"Date",tmp);
}
int sal_message_send(SalOp *op, const char *from, const char *to, const char* content_type, const char *msg){
osip_message_t *sip=NULL;
char t[26];
time_t curtime=time(NULL);
my_ctime_r(&curtime,t);
if(op->cid == -1)
{
......@@ -113,7 +118,7 @@ int sal_message_send(SalOp *op, const char *from, const char *to, const char* co
sal_op_get_from(op),sal_op_get_route(op));
if (sip!=NULL){
sal_exosip_add_custom_headers(sip,op->base.custom_headers);
osip_message_set_date(sip,t);
msg_add_current_date(sip);
osip_message_set_content_type(sip,content_type);
if (msg) osip_message_set_body(sip,msg,strlen(msg));
sal_add_other(op->base.root,op,sip);
......@@ -136,7 +141,7 @@ int sal_message_send(SalOp *op, const char *from, const char *to, const char* co
return -1;
}
sal_exosip_add_custom_headers(sip,op->base.custom_headers);
osip_message_set_date(sip,t);
msg_add_current_date(sip);
osip_message_set_content_type(sip,content_type);
if (msg) osip_message_set_body(sip,msg,strlen(msg));
eXosip_call_send_request(op->did,sip);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment