Hello community,

here is the log from the commit of package sispmctl for openSUSE:Factory 
checked in at 2020-03-17 13:09:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/sispmctl (Old)
 and      /work/SRC/openSUSE:Factory/.sispmctl.new.3160 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "sispmctl"

Tue Mar 17 13:09:24 2020 rev:4 rq:785605 version:4.5

Changes:
--------
--- /work/SRC/openSUSE:Factory/sispmctl/sispmctl.changes        2020-03-11 
18:50:28.131544029 +0100
+++ /work/SRC/openSUSE:Factory/.sispmctl.new.3160/sispmctl.changes      
2020-03-17 13:09:28.729768260 +0100
@@ -1,0 +2,7 @@
+Mon Mar 16 11:05:06 UTC 2020 - Matthias Brugger <mbrug...@suse.com>
+
+- Update to 4.5
+  * add basic authentication for the webserver
+  * add bright skin for the webserver
+
+-------------------------------------------------------------------

Old:
----
  sispmctl-4.4.tar.gz

New:
----
  sispmctl-4.5.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ sispmctl.spec ++++++
--- /var/tmp/diff_new_pack.f5Yvoz/_old  2020-03-17 13:09:29.325768718 +0100
+++ /var/tmp/diff_new_pack.f5Yvoz/_new  2020-03-17 13:09:29.325768718 +0100
@@ -18,7 +18,7 @@
 
 %define libname libsispmctl0
 Name:           sispmctl
-Version:        4.4
+Version:        4.5
 Release:        0
 Summary:        SIS-PM Control for Linux
 License:        GPL-2.0-only

++++++ sispmctl-4.4.tar.gz -> sispmctl-4.5.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sispmctl-4.4/ChangeLog new/sispmctl-4.5/ChangeLog
--- old/sispmctl-4.4/ChangeLog  2020-03-08 13:16:10.000000000 +0100
+++ new/sispmctl-4.5/ChangeLog  2020-03-10 21:20:42.000000000 +0100
@@ -1,3 +1,6 @@
+11 Mar 2020 - 4.5
+       Provide basic authentication.
+       Provide new skin 3.
 10 Mar 2020 - 4.4
        Provide new skin 2.
 09 Mar 2020 - 4.3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sispmctl-4.4/README new/sispmctl-4.5/README
--- old/sispmctl-4.4/README     2020-03-08 00:51:08.000000000 +0100
+++ new/sispmctl-4.5/README     2020-03-10 21:20:42.000000000 +0100
@@ -103,6 +103,17 @@
     systemctl enable sispmctl.service
     systemctl start sispmctl.service
 
+The webserver supports basic authentication. To set the password create file
+/etc/sispmctl/password. The first line must contain the base64 encoded user
+and password, e.g user:password is encoded as dXNlcjpwYXNzd29yZA==. You can
+use the base64 command for encoding. Enter CRTL+D twice after the password.
+
+    mkdir /etc/sispmctl
+    # enter the base64 encoded user and password in the editor
+    nano /etc/sispmctl/password
+    chown sispmctl:sispmctl /etc/sispmctl/password
+    chmod 400 /etc/sispmctl/password
+
 Usage
 -----
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sispmctl-4.4/configure new/sispmctl-4.5/configure
--- old/sispmctl-4.4/configure  2020-03-08 13:39:33.000000000 +0100
+++ new/sispmctl-4.5/configure  2020-03-10 21:23:44.000000000 +0100
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for sispmctl 4.4.
+# Generated by GNU Autoconf 2.69 for sispmctl 4.5.
 #
 # Report bugs to <xypron.g...@gmx.de>.
 #
@@ -590,8 +590,8 @@
 # Identity of this package.
 PACKAGE_NAME='sispmctl'
 PACKAGE_TARNAME='sispmctl'
-PACKAGE_VERSION='4.4'
-PACKAGE_STRING='sispmctl 4.4'
+PACKAGE_VERSION='4.5'
+PACKAGE_STRING='sispmctl 4.5'
 PACKAGE_BUGREPORT='xypron.g...@gmx.de'
 PACKAGE_URL=''
 
@@ -1345,7 +1345,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures sispmctl 4.4 to adapt to many kinds of systems.
+\`configure' configures sispmctl 4.5 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1417,7 +1417,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of sispmctl 4.4:";;
+     short | recursive ) echo "Configuration of sispmctl 4.5:";;
    esac
   cat <<\_ACEOF
 
@@ -1539,7 +1539,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-sispmctl configure 4.4
+sispmctl configure 4.5
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2008,7 +2008,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by sispmctl $as_me 4.4, which was
+It was created by sispmctl $as_me 4.5, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2981,7 +2981,7 @@
 
 # Define the identity of the package.
  PACKAGE='sispmctl'
- VERSION='4.4'
+ VERSION='4.5'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -14308,7 +14308,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by sispmctl $as_me 4.4, which was
+This file was extended by sispmctl $as_me 4.5, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -14374,7 +14374,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-sispmctl config.status 4.4
+sispmctl config.status 4.5
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sispmctl-4.4/configure.ac 
new/sispmctl-4.5/configure.ac
--- old/sispmctl-4.4/configure.ac       2020-03-08 13:16:10.000000000 +0100
+++ new/sispmctl-4.5/configure.ac       2020-03-10 21:21:01.000000000 +0100
@@ -2,7 +2,7 @@
 # Process this file with autoconf to produce a configure script.
 
 AC_PREREQ(2.59)
-AC_INIT([sispmctl], [4.4], [xypron.g...@gmx.de])
+AC_INIT([sispmctl], [4.5], [xypron.g...@gmx.de])
 AC_CONFIG_AUX_DIR(admin)
 AC_CANONICAL_TARGET
 AM_INIT_AUTOMAKE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sispmctl-4.4/src/Makefile.am 
new/sispmctl-4.5/src/Makefile.am
--- old/sispmctl-4.4/src/Makefile.am    2020-03-08 18:22:01.000000000 +0100
+++ new/sispmctl-4.5/src/Makefile.am    2020-03-10 21:20:42.000000000 +0100
@@ -8,12 +8,15 @@
 sispmctl_LDADD = libsispmctl.la
 
 EXTRA_DIST =  \
-       web1/index.html web1/off1.html web1/off3.html web1/on1.html \
-       web1/on3.html web1/status0.png web1/style.css web1/logo.png \
-       web1/off2.html web1/off4.html web1/on2.html web1/on4.html \
-       web1/status1.png web2/index.html web2/off1.html web2/off3.html \
-       web2/on1.html web2/on3.html web2/style.css web2/logo.svg \
-       web2/off2.html web2/off4.html web2/on2.html web2/on4.html
+       web1/index.html web1/logo.png web1/off1.html web1/off2.html \
+       web1/off3.html web1/off4.html web1/on1.html web1/on2.html \
+       web1/on3.html web1/on4.html web1/status0.png web1/status1.png \
+       web1/style.css web2/index.html web2/logo.svg web2/off1.html \
+       web2/off2.html web2/off3.html web2/off4.html web2/on1.html \
+       web2/on2.html web2/on3.html web2/on4.html web2/style.css \
+       web3/index.html web3/logo.svg web3/off1.html web3/off2.html \
+       web3/off3.html web3/off4.html web3/on1.html web3/on2.html \
+       web3/on3.html web3/on4.html web3/style.css
 
 if WEBLESSCOND
 AM_CFLAGS=-Wall -DWEBLESS=@WEBLESS@
@@ -22,6 +25,7 @@
 
 pkgdata1dir = "$(docdir)/httpd/skin1"
 pkgdata2dir = "$(docdir)/httpd/skin2"
+pkgdata3dir = "$(docdir)/httpd/skin3"
 
 pkgdata1_DATA = \
        web1/index.html web1/logo.png web1/off1.html web1/off2.html \
@@ -32,6 +36,10 @@
        web2/index.html web2/logo.svg web2/off1.html web2/off2.html \
        web2/off3.html web2/off4.html web2/on1.html web2/on2.html \
        web2/on3.html web2/on4.html web2/style.css
+pkgdata3_DATA = \
+       web3/index.html web3/logo.svg web3/off1.html web3/off2.html \
+       web3/off3.html web3/off4.html web3/on1.html web3/on2.html \
+       web3/on3.html web3/on4.html web3/style.css
 endif
 
 libsispmctl_la_SOURCES = \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sispmctl-4.4/src/Makefile.in 
new/sispmctl-4.5/src/Makefile.in
--- old/sispmctl-4.4/src/Makefile.in    2020-03-08 18:26:09.000000000 +0100
+++ new/sispmctl-4.5/src/Makefile.in    2020-03-10 21:23:32.000000000 +0100
@@ -106,7 +106,8 @@
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
 am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(libdir)" \
-       "$(DESTDIR)$(pkgdata1dir)" "$(DESTDIR)$(pkgdata2dir)"
+       "$(DESTDIR)$(pkgdata1dir)" "$(DESTDIR)$(pkgdata2dir)" \
+       "$(DESTDIR)$(pkgdata3dir)"
 PROGRAMS = $(bin_PROGRAMS)
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
@@ -195,7 +196,7 @@
     n|no|NO) false;; \
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
-DATA = $(pkgdata1_DATA) $(pkgdata2_DATA)
+DATA = $(pkgdata1_DATA) $(pkgdata2_DATA) $(pkgdata3_DATA)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
 # Read a list of newline-separated strings from the standard input,
 # and print each of them once, without duplicates.  Input order is
@@ -351,17 +352,21 @@
 lib_LTLIBRARIES = libsispmctl.la
 sispmctl_LDADD = libsispmctl.la
 EXTRA_DIST = \
-       web1/index.html web1/off1.html web1/off3.html web1/on1.html \
-       web1/on3.html web1/status0.png web1/style.css web1/logo.png \
-       web1/off2.html web1/off4.html web1/on2.html web1/on4.html \
-       web1/status1.png web2/index.html web2/off1.html web2/off3.html \
-       web2/on1.html web2/on3.html web2/style.css web2/logo.svg \
-       web2/off2.html web2/off4.html web2/on2.html web2/on4.html
+       web1/index.html web1/logo.png web1/off1.html web1/off2.html \
+       web1/off3.html web1/off4.html web1/on1.html web1/on2.html \
+       web1/on3.html web1/on4.html web1/status0.png web1/status1.png \
+       web1/style.css web2/index.html web2/logo.svg web2/off1.html \
+       web2/off2.html web2/off3.html web2/off4.html web2/on1.html \
+       web2/on2.html web2/on3.html web2/on4.html web2/style.css \
+       web3/index.html web3/logo.svg web3/off1.html web3/off2.html \
+       web3/off3.html web3/off4.html web3/on1.html web3/on2.html \
+       web3/on3.html web3/on4.html web3/style.css
 
 @WEBLESSCOND_FALSE@AM_CFLAGS = -Wall -DBINDADDR="\"@BINDADDR@\"" 
-DDATADIR="\"@WEBDIR@\""
 @WEBLESSCOND_TRUE@AM_CFLAGS = -Wall -DWEBLESS=@WEBLESS@
 @WEBLESSCOND_FALSE@pkgdata1dir = "$(docdir)/httpd/skin1"
 @WEBLESSCOND_FALSE@pkgdata2dir = "$(docdir)/httpd/skin2"
+@WEBLESSCOND_FALSE@pkgdata3dir = "$(docdir)/httpd/skin3"
 @WEBLESSCOND_FALSE@pkgdata1_DATA = \
 @WEBLESSCOND_FALSE@    web1/index.html web1/logo.png web1/off1.html 
web1/off2.html \
 @WEBLESSCOND_FALSE@    web1/off3.html web1/off4.html web1/on1.html 
web1/on2.html \
@@ -373,6 +378,11 @@
 @WEBLESSCOND_FALSE@    web2/off3.html web2/off4.html web2/on1.html 
web2/on2.html \
 @WEBLESSCOND_FALSE@    web2/on3.html web2/on4.html web2/style.css
 
+@WEBLESSCOND_FALSE@pkgdata3_DATA = \
+@WEBLESSCOND_FALSE@    web3/index.html web3/logo.svg web3/off1.html 
web3/off2.html \
+@WEBLESSCOND_FALSE@    web3/off3.html web3/off4.html web3/on1.html 
web3/on2.html \
+@WEBLESSCOND_FALSE@    web3/on3.html web3/on4.html web3/style.css
+
 libsispmctl_la_SOURCES = \
        process.c sispm_ctl.c nethelp.c socket.c sispm_ctl.h nethelp.h socket.h
 
@@ -590,6 +600,27 @@
        @list='$(pkgdata2_DATA)'; test -n "$(pkgdata2dir)" || list=; \
        files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
        dir='$(DESTDIR)$(pkgdata2dir)'; $(am__uninstall_files_from_dir)
+install-pkgdata3DATA: $(pkgdata3_DATA)
+       @$(NORMAL_INSTALL)
+       @list='$(pkgdata3_DATA)'; test -n "$(pkgdata3dir)" || list=; \
+       if test -n "$$list"; then \
+         echo " $(MKDIR_P) '$(DESTDIR)$(pkgdata3dir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(pkgdata3dir)" || exit 1; \
+       fi; \
+       for p in $$list; do \
+         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+         echo "$$d$$p"; \
+       done | $(am__base_list) | \
+       while read files; do \
+         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgdata3dir)'"; \
+         $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgdata3dir)" || exit $$?; \
+       done
+
+uninstall-pkgdata3DATA:
+       @$(NORMAL_UNINSTALL)
+       @list='$(pkgdata3_DATA)'; test -n "$(pkgdata3dir)" || list=; \
+       files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+       dir='$(DESTDIR)$(pkgdata3dir)'; $(am__uninstall_files_from_dir)
 
 ID: $(am__tagged_files)
        $(am__define_uniq_tagged_files); mkid -fID $$unique
@@ -682,7 +713,7 @@
 install-binPROGRAMS: install-libLTLIBRARIES
 
 installdirs:
-       for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(libdir)" 
"$(DESTDIR)$(pkgdata1dir)" "$(DESTDIR)$(pkgdata2dir)"; do \
+       for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(libdir)" 
"$(DESTDIR)$(pkgdata1dir)" "$(DESTDIR)$(pkgdata2dir)" 
"$(DESTDIR)$(pkgdata3dir)"; do \
          test -z "$$dir" || $(MKDIR_P) "$$dir"; \
        done
 install: install-am
@@ -743,7 +774,7 @@
 info-am:
 
 install-data-am: install-data-local install-pkgdata1DATA \
-       install-pkgdata2DATA
+       install-pkgdata2DATA install-pkgdata3DATA
 
 install-dvi: install-dvi-am
 
@@ -794,7 +825,8 @@
 ps-am:
 
 uninstall-am: uninstall-binPROGRAMS uninstall-libLTLIBRARIES \
-       uninstall-local uninstall-pkgdata1DATA uninstall-pkgdata2DATA
+       uninstall-local uninstall-pkgdata1DATA uninstall-pkgdata2DATA \
+       uninstall-pkgdata3DATA
 
 .MAKE: install-am install-strip
 
@@ -808,13 +840,14 @@
        install-exec install-exec-am install-html install-html-am \
        install-info install-info-am install-libLTLIBRARIES \
        install-man install-pdf install-pdf-am install-pkgdata1DATA \
-       install-pkgdata2DATA install-ps install-ps-am install-strip \
-       installcheck installcheck-am installdirs maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-compile \
-       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-       tags tags-am uninstall uninstall-am uninstall-binPROGRAMS \
-       uninstall-libLTLIBRARIES uninstall-local \
-       uninstall-pkgdata1DATA uninstall-pkgdata2DATA
+       install-pkgdata2DATA install-pkgdata3DATA install-ps \
+       install-ps-am install-strip installcheck installcheck-am \
+       installdirs maintainer-clean maintainer-clean-generic \
+       mostlyclean mostlyclean-compile mostlyclean-generic \
+       mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
+       uninstall-am uninstall-binPROGRAMS uninstall-libLTLIBRARIES \
+       uninstall-local uninstall-pkgdata1DATA uninstall-pkgdata2DATA \
+       uninstall-pkgdata3DATA
 
 .PRECIOUS: Makefile
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sispmctl-4.4/src/main.c new/sispmctl-4.5/src/main.c
--- old/sispmctl-4.4/src/main.c 2020-03-07 21:46:43.000000000 +0100
+++ new/sispmctl-4.5/src/main.c 2020-03-10 21:20:42.000000000 +0100
@@ -47,6 +47,41 @@
 #endif
 
 #ifndef WEBLESS
+
+#define BUFSIZE 256
+
+static void read_password(void)
+{
+  FILE *file;
+  const char filename[] = "/etc/sispmctl/password";
+  char buf[BUFSIZE];
+  char *pos;
+
+  file = fopen(filename, "r");
+  if (!file) {
+    if (errno != ENOENT) {
+      perror(filename);
+      exit(EXIT_FAILURE);
+    }
+    /* It is ok if there is no password file */
+    return;
+  }
+  memset(buf, 0, BUFSIZE);
+  fread(buf, 1, BUFSIZE - 1, file);
+  pos = strchr(buf, '\n');
+  if (pos) {
+    *pos = '\0';
+  }
+  secret = strdup(buf);
+  if (secret) {
+    memset(buf, 0, 256);
+  } else {
+    fprintf(stderr, "Out of memory\n");
+    exit(EXIT_FAILURE);
+  }
+  fclose(file);
+}
+
 static void daemonize()
 {
   /* Our process ID and Session ID */
@@ -475,6 +510,8 @@
       case 'l':
       case 'L': {
         int* s;
+
+        read_password();
         if (verbose)
           printf("Server goes to listen mode now.\n");
         if ((s = socket_init(bindaddr)) != NULL) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sispmctl-4.4/src/process.c 
new/sispmctl-4.5/src/process.c
--- old/sispmctl-4.4/src/process.c      2020-03-08 18:22:01.000000000 +0100
+++ new/sispmctl-4.5/src/process.c      2020-03-10 21:20:42.000000000 +0100
@@ -24,6 +24,7 @@
 */
 
 #include <stdio.h>
+#include <stdbool.h>
 #include <string.h>
 #include <sys/stat.h>
 #include <sys/types.h>
@@ -42,6 +43,8 @@
 #endif
 
 #ifndef WEBLESS
+char *secret;
+
 static void service_not_available(int out)
 {
   char xbuffer[BSIZE+2];
@@ -58,6 +61,22 @@
   send(out,xbuffer,strlen(xbuffer),0);
 }
 
+static void unauthorized(int out)
+{
+  char xbuffer[BSIZE+2];
+
+  sprintf(xbuffer,
+          "HTTP/1.1 401 Unauthorized\nServer: SisPM\n"
+          "WWW-Authenticate: Basic realm=\"SisPM\n\""
+          "Content-Type: text/html\n\n"
+          "<!DOCTYPE HTML>\n"
+          "<html><head>\n<title>401 Unauthorized</title>\n"
+          "<meta http-equiv=\"refresh\" content=\"10;url=/\">\n"
+          "</head><body>\n"
+          "<h1>401 Unauthorized</h1></body></html>\n\n");
+  send(out,xbuffer,strlen(xbuffer),0);
+}
+
 static void bad_request(int out)
 {
   char xbuffer[BSIZE+2];
@@ -73,6 +92,27 @@
   send(out,xbuffer,strlen(xbuffer),0);
 }
 
+char *next_word(char *ptr)
+{
+  bool flag = false;
+
+  if (!ptr) {
+    return ptr;
+  }
+  for (;; ++ptr) {
+    char c = *ptr;
+
+    if (c < ' ') {
+      return NULL;
+    }
+    if (c == ' ') {
+      flag = true;
+    } else if (flag) {
+      return ptr;
+    }
+  }
+}
+
 void process(int out,char *request, struct usb_device *dev, int devnum)
 {
   char xbuffer[BSIZE+2];
@@ -103,6 +143,31 @@
     if (ptr)
       *ptr = 0;
   }
+  /* Look for authentication */
+  if (secret) {
+    char *password = NULL;
+
+    for(; eol;) {
+      ptr = eol + 1;
+      if (strncmp(ptr, "Authorization: ", 15)) {
+        eol = strchr(ptr, '\n');
+        continue;
+      }
+      ptr = next_word(ptr);
+      password = next_word(ptr);
+      if (!password) {
+        break;
+      }
+      for (ptr = password; *ptr > ' '; ++ptr)
+        ;
+      *ptr = '\0';
+      break;
+    }
+    if (!password || strcmp(secret, password)) {
+      unauthorized(out);
+      return;
+    }
+  }
 
   // avoid to read other directories, %-codes are not evaluated
   ptr = strrchr(filename,'/');
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sispmctl-4.4/src/sispm_ctl.h 
new/sispmctl-4.5/src/sispm_ctl.h
--- old/sispmctl-4.4/src/sispm_ctl.h    2020-03-07 21:46:43.000000000 +0100
+++ new/sispmctl-4.5/src/sispm_ctl.h    2020-03-10 21:20:42.000000000 +0100
@@ -139,5 +139,7 @@
 extern int debug;
 extern int verbose;
 extern char *homedir;
+/* Base64 encoded user:password */
+extern char *secret;
 
 #endif
Binary files old/sispmctl-4.4/src/web1/status0.png and 
new/sispmctl-4.5/src/web1/status0.png differ
Binary files old/sispmctl-4.4/src/web1/status1.png and 
new/sispmctl-4.5/src/web1/status1.png differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sispmctl-4.4/src/web2/index.html 
new/sispmctl-4.5/src/web2/index.html
--- old/sispmctl-4.4/src/web2/index.html        2020-03-08 18:22:01.000000000 
+0100
+++ new/sispmctl-4.5/src/web2/index.html        2020-03-10 21:20:42.000000000 
+0100
@@ -5,10 +5,12 @@
 Connection: close
 Vary: *
 
-<html>
+<!DOCTYPE html>
+<html lang="en">
 <head>
 <title>SiS PM Control for Linux $$version()$$</title>
 <link rel="stylesheet" type="text/css" href="style.css">
+<meta charset="UTF-8">
 </head>
 <body>
 <div class="title">SiS PM Control $$version()$$</div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sispmctl-4.4/src/web2/style.css 
new/sispmctl-4.5/src/web2/style.css
--- old/sispmctl-4.4/src/web2/style.css 2020-03-08 18:22:01.000000000 +0100
+++ new/sispmctl-4.5/src/web2/style.css 2020-03-10 21:20:42.000000000 +0100
@@ -58,10 +58,18 @@
        color:#000;
 }
 
+.on:hover {
+       font-weight:bolder;
+}
+
 a.off:visited, a.off:link, a.off:active {
        color:#fff;
 }
 
+.off:hover {
+       font-weight:bolder;
+}
+
 @media (orientation: landscape) {
 body {
        font-size:1.5em;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sispmctl-4.4/src/web3/index.html 
new/sispmctl-4.5/src/web3/index.html
--- old/sispmctl-4.4/src/web3/index.html        1970-01-01 01:00:00.000000000 
+0100
+++ new/sispmctl-4.5/src/web3/index.html        2020-03-10 21:20:42.000000000 
+0100
@@ -0,0 +1,23 @@
+HTTP/1.0 200 OK
+Server: sispm_http
+Date: Sun, 08 Mar 2020 10:00:00 +0100
+Content-Type: text/html
+Connection: close
+Vary: *
+
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<title>SiS PM Control for Linux $$version()$$</title>
+<link rel="stylesheet" type="text/css" href="style.css">
+<meta charset="UTF-8">
+</head>
+<body>
+<div class="title">SiS PM Control $$version()$$</div>
+<div class="span"><a href="https://sourceforge.net/projects/sispmctl/";><img 
src="logo.svg" alt=""></a></div>
+$$status(1)?<a class="on" href="off1.html"><div class="on">On</div></a>:<a 
class="off" href="on1.html"><div class="off">Off</div></a>$$
+$$status(2)?<a class="on" href="off2.html"><div class="on">On</div></a>:<a 
class="off" href="on2.html"><div class="off">Off</div></a>$$
+$$status(3)?<a class="on" href="off3.html"><div class="on">On</div></a>:<a 
class="off" href="on3.html"><div class="off">Off</div></a>$$
+$$status(4)?<a class="on" href="off4.html"><div class="on">On</div></a>:<a 
class="off" href="on4.html"><div class="off">Off</div></a>$$
+</body>
+</html>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sispmctl-4.4/src/web3/logo.svg 
new/sispmctl-4.5/src/web3/logo.svg
--- old/sispmctl-4.4/src/web3/logo.svg  1970-01-01 01:00:00.000000000 +0100
+++ new/sispmctl-4.5/src/web3/logo.svg  2020-03-10 21:20:42.000000000 +0100
@@ -0,0 +1,181 @@
+HTTP/1.0 200 OK
+Server: sispm_http
+Date: Sun, 08 Mar 2020 10:00:00 +0100
+Content-Type: image/svg+xml
+Connection: close
+
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:xlink="http://www.w3.org/1999/xlink";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   width="25.283743mm"
+   height="26.548941mm"
+   viewBox="0 0 25.283743 26.548941"
+   version="1.1"
+   id="svg8"
+   inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
+   sodipodi:docname="logo.svg"
+   inkscape:export-filename="/tmp/logo.png"
+   inkscape:export-xdpi="95.672371"
+   inkscape:export-ydpi="95.672371">
+  <defs
+     id="defs2">
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient917">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0.75294119"
+         offset="0"
+         id="stop913" />
+      <stop
+         id="stop923"
+         offset="0.42441806"
+         style="stop-color:#ffffff;stop-opacity:0.45882353;" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1"
+         id="stop915" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient907"
+       inkscape:collect="always">
+      <stop
+         id="stop903"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1" />
+      <stop
+         style="stop-color:#ffd39d;stop-opacity:1;"
+         offset="0.2463537"
+         id="stop927" />
+      <stop
+         style="stop-color:#ff9f29;stop-opacity:1;"
+         offset="0.63496101"
+         id="stop925" />
+      <stop
+         style="stop-color:#ff8a1a;stop-opacity:1;"
+         offset="0.80715096"
+         id="stop909" />
+      <stop
+         id="stop905"
+         offset="1"
+         style="stop-color:#ff6400;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient879">
+      <stop
+         style="stop-color:#ffff00;stop-opacity:1;"
+         offset="0"
+         id="stop875" />
+      <stop
+         style="stop-color:#ff8800;stop-opacity:1"
+         offset="1"
+         id="stop877" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient879"
+       id="linearGradient881"
+       x1="21.412638"
+       y1="275.71356"
+       x2="30.028187"
+       y2="279.99731"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-9.1876198,2.7250962)" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient907"
+       id="radialGradient901"
+       gradientUnits="userSpaceOnUse"
+       cx="15.591966"
+       cy="278.01971"
+       fx="15.591967"
+       fy="278.01971"
+       r="10.870849"
+       
gradientTransform="matrix(0.99999143,0.00559314,-0.00608784,1.0884376,-2.5469747,-24.685634)"
 />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient917"
+       id="radialGradient921"
+       cx="16.091261"
+       cy="273.04886"
+       fx="16.091261"
+       fy="273.04886"
+       r="5.6841435"
+       
gradientTransform="matrix(0.99997748,0.00674734,-0.0058309,0.87347554,-3.4945775,38.012418)"
+       gradientUnits="userSpaceOnUse" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="8.3016364"
+     inkscape:cx="47.780303"
+     inkscape:cy="50.170832"
+     inkscape:document-units="mm"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1920"
+     inkscape:window-height="1043"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0" />
+  <metadata
+     id="metadata5">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-0.71308517,-273.57478)">
+    <circle
+       
style="fill:url(#radialGradient901);fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-opacity:1"
+       id="path883"
+       cx="11.451642"
+       cy="286.26144"
+       r="10.738557" />
+    <ellipse
+       
style="fill:url(#radialGradient921);fill-opacity:1;stroke:none;stroke-width:0.24505018;stroke-opacity:1"
+       id="path911"
+       cx="11.269351"
+       cy="278.62183"
+       rx="5.6841435"
+       ry="3.0989351" />
+    <path
+       
style="fill:#000000;fill-opacity:0.25098039;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.25098039"
+       d="m 7.9335154,284.94387 9.9762516,-10.47341 8.087062,10e-6 
-9.876821,9.1145 6.032152,-0.0994 -11.003706,8.78308 h 5.402422 l 
-14.2849316,7.85507 6.032152,-6.5956 -3.579519,0.0663 8.6173606,-8.61736 z"
+       id="path873-5"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccccccccccc" />
+    <path
+       
style="fill:url(#linearGradient881);fill-opacity:1;stroke:#ff7f00;stroke-width:0.26499999;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 6.6219221,284.18069 9.9762519,-10.47341 8.087062,10e-6 
-9.876821,9.1145 6.032152,-0.0994 -11.0037061,8.78308 h 5.4024221 l 
-14.28493185,7.85507 6.03215195,-6.5956 -3.579519,0.0663 8.6173609,-8.61736 z"
+       id="path873"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccccccccccc" />
+  </g>
+</svg>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sispmctl-4.4/src/web3/off1.html 
new/sispmctl-4.5/src/web3/off1.html
--- old/sispmctl-4.4/src/web3/off1.html 1970-01-01 01:00:00.000000000 +0100
+++ new/sispmctl-4.5/src/web3/off1.html 2020-03-10 21:20:42.000000000 +0100
@@ -0,0 +1,6 @@
+HTTP/1.0 302 Moved Temporarily
+Server: sispm_http
+Date: Sat, 04 Feb 2006 16:03:35 +0100
+Location: $$off(1)?index.html:index.html$$  
+Connection: close
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sispmctl-4.4/src/web3/off2.html 
new/sispmctl-4.5/src/web3/off2.html
--- old/sispmctl-4.4/src/web3/off2.html 1970-01-01 01:00:00.000000000 +0100
+++ new/sispmctl-4.5/src/web3/off2.html 2020-03-10 21:20:42.000000000 +0100
@@ -0,0 +1,6 @@
+HTTP/1.0 302 Moved Temporarily
+Server: sispm_http
+Date: Sat, 04 Feb 2006 16:03:35 +0100
+Location: $$off(2)?index.html:index.html$$ 
+Connection: close
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sispmctl-4.4/src/web3/off3.html 
new/sispmctl-4.5/src/web3/off3.html
--- old/sispmctl-4.4/src/web3/off3.html 1970-01-01 01:00:00.000000000 +0100
+++ new/sispmctl-4.5/src/web3/off3.html 2020-03-10 21:20:42.000000000 +0100
@@ -0,0 +1,6 @@
+HTTP/1.0 302 Moved Temporarily
+Server: sispm_http
+Date: Sat, 04 Feb 2006 16:03:35 +0100
+Location: $$off(3)?index.html:index.html$$
+Connection: close
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sispmctl-4.4/src/web3/off4.html 
new/sispmctl-4.5/src/web3/off4.html
--- old/sispmctl-4.4/src/web3/off4.html 1970-01-01 01:00:00.000000000 +0100
+++ new/sispmctl-4.5/src/web3/off4.html 2020-03-10 21:20:42.000000000 +0100
@@ -0,0 +1,6 @@
+HTTP/1.0 302 Moved Temporarily
+Server: sispm_http
+Date: Sat, 04 Feb 2006 16:03:35 +0100
+Location: $$off(4)?index.html:index.html$$ 
+Connection: close
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sispmctl-4.4/src/web3/on1.html 
new/sispmctl-4.5/src/web3/on1.html
--- old/sispmctl-4.4/src/web3/on1.html  1970-01-01 01:00:00.000000000 +0100
+++ new/sispmctl-4.5/src/web3/on1.html  2020-03-10 21:20:42.000000000 +0100
@@ -0,0 +1,6 @@
+HTTP/1.0 302 Moved Temporarily
+Server: sispm_http
+Date: Sat, 04 Feb 2006 16:03:35 +0100
+Location: $$on(1)?index.html:index.html$$ 
+Connection: close
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sispmctl-4.4/src/web3/on2.html 
new/sispmctl-4.5/src/web3/on2.html
--- old/sispmctl-4.4/src/web3/on2.html  1970-01-01 01:00:00.000000000 +0100
+++ new/sispmctl-4.5/src/web3/on2.html  2020-03-10 21:20:42.000000000 +0100
@@ -0,0 +1,6 @@
+HTTP/1.0 302 Moved Temporarily
+Server: sispm_http
+Date: Sat, 04 Feb 2006 16:03:35 +0100
+Location: $$on(2)?index.html:index.html$$ 
+Connection: close
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sispmctl-4.4/src/web3/on3.html 
new/sispmctl-4.5/src/web3/on3.html
--- old/sispmctl-4.4/src/web3/on3.html  1970-01-01 01:00:00.000000000 +0100
+++ new/sispmctl-4.5/src/web3/on3.html  2020-03-10 21:20:42.000000000 +0100
@@ -0,0 +1,6 @@
+HTTP/1.0 302 Moved Temporarily
+Server: sispm_http
+Date: Sat, 04 Feb 2006 16:03:35 +0100
+Location: $$on(3)?index.html:index.html$$ 
+Connection: close
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sispmctl-4.4/src/web3/on4.html 
new/sispmctl-4.5/src/web3/on4.html
--- old/sispmctl-4.4/src/web3/on4.html  1970-01-01 01:00:00.000000000 +0100
+++ new/sispmctl-4.5/src/web3/on4.html  2020-03-10 21:20:42.000000000 +0100
@@ -0,0 +1,6 @@
+HTTP/1.0 302 Moved Temporarily
+Server: sispm_http
+Date: Sat, 04 Feb 2006 16:03:35 +0100
+Location: $$on(4)?index.html:index.html$$  
+Connection: close
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sispmctl-4.4/src/web3/style.css 
new/sispmctl-4.5/src/web3/style.css
--- old/sispmctl-4.4/src/web3/style.css 1970-01-01 01:00:00.000000000 +0100
+++ new/sispmctl-4.5/src/web3/style.css 2020-03-10 21:20:42.000000000 +0100
@@ -0,0 +1,85 @@
+HTTP/1.0 200 OK
+Server: sispm_http
+Date: Sun, 08 Mar 2020 10:00:00 +0100
+Content-Type: text/css
+Connection: close
+
+body {
+       font-family:Verdana,Helvetica,sans-serif;
+       font-size:3em;
+       font-style:normal;
+       color:#333;
+       background-color:#fff;
+       margin:0px;
+       padding:0px;
+}
+
+a:visited, a:link, a:active {
+       text-decoration:none;
+       color:#f70;
+       border:0;
+}
+
+img {
+       border:0;
+       height:2.5em;
+}
+
+div {
+       border:0;
+       padding:1em;
+       margin:.5em;
+       border:.1em solid #777;
+       border-radius: 1em;
+       text-align:center;
+}
+
+.title {
+       font-weight:bold;
+       border:0;
+}
+
+.span {
+       position:absolute;
+       top:0;
+       right:0;
+       border:0;
+       padding:0;
+}
+
+.on {
+       background-color:#06c;
+}
+
+.off {
+       background-color:#fff;
+}
+
+a.on:visited, a.on:link, a.on:active {
+       color:#fff;
+}
+
+.on:hover {
+       font-weight:bolder;
+}
+
+a.off:visited, a.off:link, a.off:active {
+       color:#333;
+}
+
+.off:hover {
+       font-weight:bolder;
+}
+
+@media (orientation: landscape) {
+body {
+       font-size:1.5em;
+}
+
+div {
+       padding:.5em;
+       margin:.25em;
+       border:.05em solid #777;
+       border-radius:.5em;
+}
+}


Reply via email to