diff --git a/src/ctl/wfd-session.c b/src/ctl/wfd-session.c index cf09314..77a54a5 100644 --- a/src/ctl/wfd-session.c +++ b/src/ctl/wfd-session.c @@ -18,6 +18,7 @@ */ #define LOG_SUBSYSTEM "wfd-session" +#include #include "ctl.h" #include "rtsp.h" #include "wfd-dbus.h" @@ -398,6 +399,9 @@ static int wfd_session_handle_request(struct rtsp *bus, _rtsp_message_unref_ struct rtsp_message *rep = NULL; struct wfd_session *s = userdata; enum rtsp_message_id id; + char date[128]; + uint64_t usec; + time_t sec; int r; id = wfd_session_message_to_id(s, m); @@ -422,6 +426,21 @@ static int wfd_session_handle_request(struct rtsp *bus, goto error; } + r = sd_event_now(ctl_wfd_get_loop(), CLOCK_REALTIME, &usec); + if(0 > r) { + goto error; + } + + sec = usec / 1000 / 1000; + strftime(date, sizeof(date), + "%a, %d %b %Y %T %z", + gmtime(&sec)); + + r = rtsp_message_append(rep, "", "Date", date); + if(0 > r) { + goto error; + } + r = rtsp_message_seal(rep); if(0 > r) { goto error; diff --git a/src/ctl/wfdctl.c b/src/ctl/wfdctl.c index fc2fb15..2ecffeb 100644 --- a/src/ctl/wfdctl.c +++ b/src/ctl/wfdctl.c @@ -499,6 +499,7 @@ int main(int argc, char **argv) sd_bus *bus; setlocale(LC_ALL, ""); + setlocale(LC_TIME, "en_US.UTF-8"); if(getenv("LOG_LEVEL")) { log_max_sev = log_parse_arg(getenv("LOG_LEVEL"));