Hello community, here is the log from the commit of package sispmctl for openSUSE:Leap:15.2 checked in at 2020-03-21 16:46:26 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Leap:15.2/sispmctl (Old) and /work/SRC/openSUSE:Leap:15.2/.sispmctl.new.3160 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sispmctl" Sat Mar 21 16:46:26 2020 rev:3 rq:786891 version:4.5 Changes: -------- --- /work/SRC/openSUSE:Leap:15.2/sispmctl/sispmctl.changes 2020-03-15 07:12:44.293012801 +0100 +++ /work/SRC/openSUSE:Leap:15.2/.sispmctl.new.3160/sispmctl.changes 2020-03-21 16:47:45.649674751 +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.SZ0EJl/_old 2020-03-21 16:47:45.965674951 +0100 +++ /var/tmp/diff_new_pack.SZ0EJl/_new 2020-03-21 16:47:45.969674954 +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; +} +}