]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
webui: show username, hostname and client name when subscriving to a service
authorJohn Törnblom <john.tornblom@gmail.com>
Wed, 9 Jan 2013 14:59:32 +0000 (15:59 +0100)
committerJohn Törnblom <john.tornblom@gmail.com>
Wed, 9 Jan 2013 14:59:32 +0000 (15:59 +0100)
src/serviceprobe.c
src/subscriptions.c
src/subscriptions.h
src/webui/webui.c

index 62dcc211934d81b22b87c42f4765386e13a25a5f..2d82a713b25b934844688728a7f4fb76ea2cba73 100644 (file)
@@ -114,7 +114,8 @@ serviceprobe_thread(void *aux)
       tvhlog(LOG_INFO, "serviceprobe", "%20s: checking...",
        t->s_svcname);
 
-      s = subscription_create_from_service(t, "serviceprobe", &sq.sq_st, 0);
+      s = subscription_create_from_service(t, "serviceprobe", &sq.sq_st, 0, 
+                                          NULL, NULL, "serviceprobe");
       if(s == NULL) {
         t->s_sp_onqueue = 0;
         TAILQ_REMOVE(&serviceprobe_queue, t, s_sp_link);
index 2f56825b769c9d925e7037d82015948365ca878b..1dc1c844fd294ab7ca38298564fe9a5d390a5032 100644 (file)
@@ -406,7 +406,9 @@ subscription_create_from_channel(channel_t *ch, unsigned int weight,
  */
 th_subscription_t *
 subscription_create_from_service(service_t *t, const char *name,
-                                streaming_target_t *st, int flags)
+                                streaming_target_t *st, int flags,
+                                const char *hostname, const char *username, 
+                                const char *client)
 {
   th_subscription_t *s;
   source_info_t si;
@@ -414,7 +416,7 @@ subscription_create_from_service(service_t *t, const char *name,
 
   s = subscription_create(INT32_MAX, name, st, flags, 
                          subscription_input_direct,
-                         NULL, NULL, NULL);
+                         hostname, username, client);
 
   if(t->s_status != SERVICE_RUNNING) {
     if((r = service_start(t, INT32_MAX, 1)) != 0) {
@@ -526,7 +528,7 @@ subscription_dummy_join(const char *id, int first)
 
   st = calloc(1, sizeof(streaming_target_t));
   streaming_target_init(st, dummy_callback, NULL, 0);
-  subscription_create_from_service(t, "dummy", st, 0);
+  subscription_create_from_service(t, "dummy", st, 0, NULL, NULL, "dummy");
 
   tvhlog(LOG_NOTICE, "subscription", 
         "Dummy join %s ok", id);
index 0a88e5f51a4e06e3d359b0b8b1720c2a91948b6b..a73605f398e770ee209837dcb4f8efe0b780e34a 100644 (file)
@@ -97,7 +97,10 @@ th_subscription_t *subscription_create_from_channel(struct channel *ch,
 th_subscription_t *subscription_create_from_service(struct service *t,
                                                    const char *name,
                                                    streaming_target_t *st,
-                                                   int flags);
+                                                   int flags,
+                                                   const char *hostname,
+                                                   const char *username,
+                                                   const char *client);
 
 th_subscription_t *subscription_create(int weight, const char *name,
                                       streaming_target_t *st,
index 8d7d90d8da957a9cd1c01ffa6710802d583ed664..37c6ee916bb191774c1a0048f4a2b90a402274bd 100644 (file)
@@ -601,7 +601,10 @@ http_stream_service(http_connection_t *hc, service_t *service)
     flags = 0;
   }
 
-  s = subscription_create_from_service(service, "HTTP", st, flags);
+  s = subscription_create_from_service(service, "HTTP", st, flags,
+                                      inet_ntoa(hc->hc_peer->sin_addr),
+                                      hc->hc_username,
+                                      http_arg_get(&hc->hc_args, "User-Agent"));
   if(s) {
     name = strdupa(service->s_ch ?
                    service->s_ch->ch_name : service->s_nicename);