s3: Show share path in swat statuspage
[ira/wip.git] / source3 / web / statuspage.c
index ce24c7cddd480dd71f10c128834ded9264bd3d66..f94ffb79264c1ae1c791ce25e331551408b7e6f4 100644 (file)
@@ -43,9 +43,10 @@ static void initPid2Machine (void)
 {
        /* show machine name rather PID on table "Open Files"? */
        if (PID_or_Machine) {
-               PIDMAP *p;
+               PIDMAP *p, *next;
 
-               for (p = pidmap; p != NULL; ) {
+               for (p = pidmap; p != NULL; p = next) {
+                       next = p->next;
                        DLIST_REMOVE(pidmap, p);
                        SAFE_FREE(p->machine);
                        SAFE_FREE(p);
@@ -122,6 +123,7 @@ static void print_share_mode(const struct share_mode_entry *e,
                             void *dummy)
 {
        char           *utf8_fname;
+       char           *utf8_sharepath;
        int deny_mode;
        size_t converted_size;
 
@@ -170,10 +172,12 @@ static void print_share_mode(const struct share_mode_entry *e,
                printf("NONE            ");
        printf("</td>");
 
-       push_utf8_allocate(&utf8_fname, fname, &converted_size);
-       printf("<td>%s</td><td>%s</td></tr>\n",
-              utf8_fname,tstring(talloc_tos(),e->time.tv_sec));
-       SAFE_FREE(utf8_fname);
+       push_utf8_talloc(talloc_tos(), &utf8_fname, fname, &converted_size);
+       push_utf8_talloc(talloc_tos(), &utf8_sharepath, sharepath,
+                        &converted_size);
+       printf("<td>%s</td><td>%s</td><td>%s</td></tr>\n",
+              utf8_sharepath,utf8_fname,tstring(talloc_tos(),e->time.tv_sec));
+       TALLOC_FREE(utf8_fname);
 }
 
 
@@ -344,7 +348,7 @@ void status_page(void)
 
        printf("<table>\n");
 
-       printf("<tr><td>%s</td><td>%s</td></tr>", _("version:"), SAMBA_VERSION_STRING);
+       printf("<tr><td>%s</td><td>%s</td></tr>", _("version:"), samba_version_string());
 
        fflush(stdout);
        printf("<tr><td>%s</td><td>%s</td>\n", _("smbd:"), smbd_running()?_("running"):_("not running"));
@@ -426,7 +430,8 @@ void status_page(void)
 
        printf("<h3>%s</h3>\n", _("Open Files"));
        printf("<table border=1>\n");
-       printf("<tr><th>%s</th><th>%s</th><th>%s</th><th>%s</th><th>%s</th><th>%s</th></tr>\n", _("PID"), _("Sharing"), _("R/W"), _("Oplock"), _("File"), _("Date"));
+       printf("<tr><th>%s</th><th>%s</th><th>%s</th><th>%s</th><th>%s</th><th>%s</th><th>%s</th><th>%s</th></tr>\n",
+               _("PID"), _("UID"), _("Sharing"), _("R/W"), _("Oplock"), _("Share"), _("File"), _("Date"));
 
        locking_init_readonly();
        share_mode_forall(print_share_mode, NULL);