sync
authorJan Kratochvil <jan.kratochvil@redhat.com>
Sun, 6 Jan 2019 16:12:26 +0000 (17:12 +0100)
committerJan Kratochvil <jan.kratochvil@redhat.com>
Sun, 6 Jan 2019 16:12:26 +0000 (17:12 +0100)
43 files changed:
.htaccess
WebConfig.pm
html-test.pl
httpd.conf.pl
pgp-JanKratochvil.txt
product/mms2/Index.pm
project/AutoGen/Index.pm
project/ChangeLog.pm
project/FordFulk/FordFulk/.htaccess
project/FordFulk/FordFulk/FordFulk.html [moved from project/FordFulk/FordFulk/FordFulk.shtml with 100% similarity]
project/Heat/Heat/.htaccess
project/Heat/Heat/Heat.html [moved from project/Heat/Heat/Heat.shtml with 100% similarity]
project/Islet/Islet/.htaccess
project/Islet/Islet/Islet.html [moved from project/Islet/Islet/Islet.shtml with 100% similarity]
project/Lib.pm
project/MyWeb/Index.pm
project/PerlMail/Index.pm
project/TraceFS/Index.pm
project/badblock_guess/Index.pm
project/captive/Index.pm
project/checkstatic/Index.pm
project/cvsbranchdiff/Index.pm
project/cvsutil/Index.pm
project/energie/Index.pm
project/fixhtml/Index.pm
project/gsmperl/Index.pm
project/harpy/Index.pm
project/inetdmx/Index.pm
project/int13sniff/Index.pm
project/line9k/Index.pm
project/lynxilla/Index.pm
project/netdnsspoof/Index.pm
project/oslik/oslik/.htaccess
project/oslik/oslik/index.html [moved from project/oslik/oslik/index.shtml with 97% similarity]
project/postget/Index.pm
project/ppp9k/Index.pm
project/redirector_ad/Index.pm
project/staticbuild/Index.pm
project/tac_plus/Index.pm
project/tcpoverudp/Index.pm
project/xbelnormalize/Index.pm
resume/ResumeJanKratochvil.pm
resume/ResumeJanKratochvil.txt

index 97a08e3..1a88392 100644 (file)
--- a/.htaccess
+++ b/.htaccess
@@ -1,16 +1,23 @@
 <IfModule mod_dir.c>
-       DirectoryIndex _NOTEXISTS
+#      DirectoryIndex _NOTEXISTS
        IndexOptions NameWidth=*
 </IfModule>
 
 Options None
-<IfModule !mod_perl.c>
+#<IfModule !mod_perl.c>
+#<IfDefine !PERL>
        Options +Indexes
        # For "*.shtml" as "./project/Islet/Islet/Islet.shtml" etc.
        Options +Includes
        # Prevent: Options FollowSymLinks or SymLinksIfOwnerMatch is off which implies that RewriteRule directive is forbidden
        Options +SymLinksIfOwnerMatch
-</IfModule>
+#</IfModule>
+#</IfDefine>
+
+#<IfModule mod_expires.c>
+#      ExpiresActive On
+#      ExpiresDefault "access plus 1 hours"
+#</IfModule>
 
 AddHandler server-parsed .shtml
 AddHandler cgi-script .cgi
@@ -22,6 +29,7 @@ AddType "text/plain; charset=us-ascii" .asc
 AddType application/x-rpm .rpm
 AddType application/x-nokia-9000-communicator-add-on-software .aos
 AddType application/vnd.symbian.install .sis
+AddType video/ogg .ogv
 
 RemoveEncoding .gz .Z .bz .bz2 .zip
 AddType application/x-gzip .gz
@@ -29,6 +37,7 @@ AddType application/x-compress .Z
 AddType application/x-bzip .bz
 AddType application/x-bzip2 .bz2
 AddType application/zip .zip
+AddType video/webm .webm
 
 # Do not: text/javascript
 # as it does not look as registered, at least according to: MIME::Types $VERSION 1.15
@@ -43,6 +52,10 @@ AddType application/javascript .js
 </IfModule>
 
 <IfModule mod_rewrite.c>
+#      RewriteRule ^(mailman|pipermail)(|/.*)$ http://host1.jankratochvil.net/$1$2?${unescape:%{QUERY_STRING}} [P,L]
+       #RewriteRule ^priv/(photo)(|/.*)$ http://www.jankratochvil.net/$1$2?${unescape:%{QUERY_STRING}} [R=301,L]
+       RewriteRule ^(priv/)?photo(|/.*)$ http://gallery.jankratochvil.net/$2?${unescape:%{QUERY_STRING}} [R=301,L]
+       RewriteRule ^priv/evelina(|/.*)$ http://gallery.jankratochvil.net/evelina$2?${unescape:%{QUERY_STRING}} [R=301,L]
        # Do not: [R=301] [L]
        # as any non-1st brackets' contents would get ignored!
        # Use always suffix: ?${unescape:%{QUERY_STRING}}
@@ -50,19 +63,42 @@ AddType application/javascript .js
        # FIXME: Should be applied also for the "P" rules?
        # WARNING: Requires server/virtualhost definition: RewriteMap unescape int:unescape
        RewriteEngine on
-       RewriteRule ^kocky(|/.*)$ http://kocky.vellum.cz/$1?${unescape:%{QUERY_STRING}} [R=301,L]
-       RewriteRule ^(4cinfo|4c)(|/.*)$ http://4c.jankratochvil.net/$2?${unescape:%{QUERY_STRING}} [R=301,L]
-       RewriteRule ^sw(|/.*)$ http://%{SERVER_NAME}/project$1?${unescape:%{QUERY_STRING}} [R=301,L]
-       RewriteRule ^(project|product)s(|/.*)$ http://%{SERVER_NAME}/$1$2?${unescape:%{QUERY_STRING}} [R=301,L]
-       RewriteRule ^(mailman|pipermail|phorum|akra)(|/.*)$ http://www2.jankratochvil.net/$1$2?${unescape:%{QUERY_STRING}} [R=302,L]
-       <IfModule !mod_perl.c>
+
+       # http://www.askapache.com/htaccess/http-https-rewriterule-redirect.html
+       RewriteCond %{HTTPS} =on
+       RewriteRule ^(.*)$ - [env=ps:https]
+       RewriteCond %{HTTPS} !=on
+       RewriteRule ^(.*)$ - [env=ps:http]
+
+#      RewriteRule ^kocky(|/.*)$ http://kocky.vellum.cz/$1?${unescape:%{QUERY_STRING}} [R=301,L]
+#      RewriteRule ^(4cinfo|4c)(|/.*)$ http://4c.jankratochvil.net/$2?${unescape:%{QUERY_STRING}} [R=301,L]
+#      RewriteRule ^sw(|/.*)$ http://%{SERVER_NAME}/project$1?${unescape:%{QUERY_STRING}} [R=301,L]
+       # Referenced by resume/:
+       RewriteRule ^(project|product)s(|/.*)$ %{ENV:ps}://%{SERVER_NAME}/$1$2?${unescape:%{QUERY_STRING}} [R=301,L]
+       # |phorum
+       # mailman|pipermail
+#  RewriteRule ^(akra)(|/.*)$ http://www2.jankratochvil.net/$1$2?${unescape:%{QUERY_STRING}} [R=302,L]
+#  RewriteRule ^(akra2)(|/.*)$ http://vellum.cz/~akra$2?${unescape:%{QUERY_STRING}} [R=302,L]
+       #<IfModule !mod_perl.c>
+#      <IfDefine !PERL>
+#              RewriteRule ^favicon[.]ico$ /My/Status.pm?code=404 [R=301,L]
                RewriteRule ^favicon[.]ico$ /My/Status.pm?code=404 [P,L]
                RewriteRule ^(.*)[.](html|txt)[.]pl(|/.*)$ /$1.pm$3?${unescape:%{QUERY_STRING}} [R=301,L]
                RewriteRule ^resume/Resume-JanKratochvil.pm(|/.*)$ /resume/ResumeJanKratochvil.pm$1?${unescape:%{QUERY_STRING}} [R=301,L]
-               RewriteRule ^(.*?)/+Index[.]pm$ /$1/?${unescape:%{QUERY_STRING}} [R=301,L]
+#              RewriteRule ^(.*?)/+Index[.]pm$ /$1/?${unescape:%{QUERY_STRING}} [R=301,L]
                RewriteCond %{REQUEST_FILENAME}/Index.pm -f
                # It may be "" for the root directory:
-               RewriteRule ^(|(.*?/)/*)$ http://localhost:7680/$2Index.pm [P,L]
-               RewriteRule ^(.*[.]pm(|/.*))$ http://localhost:7680/$1 [P,L]
-       </IfModule>
+#              RewriteRule ^(|(.*?/)/*)$ /$2Index.pm [R=301,L]
+               # Do not /$2Index.pm due to: SSL Proxy requested for www.jankratochvil.net:443 but not enabled [Hint: SSLProxyEngine]
+               # Do not: http://www.jankratochvil.net/$2Index.pm as the My::Web redirects would not detect HTTPS.
+               RewriteRule ^(|(.*?/)/*)$ /$2Index.pm [P,L]
+#              RewriteRule ^(|(.*?/)/*)$ http://localhost:7680/$2Index.pm [P,L]
+#              RewriteRule ^(.*[.]pm(|/.*))$ http://localhost:7680/$1 [P,L]
+#RewriteCond %{REQUEST_URI} !^/*(thelaytons)(|/.*)$
+#RewriteRule ^/*(thelaytons)(|/.*)$ /${tolower:$1}$2 [NC,L,R=301]
+       #</IfModule>
+#      </IfDefine>
+       RewriteRule ^/*cam$ http://host2/cgi-bin/motion-jpeg.cgi [P,L]
+       RewriteRule ^/*campng$ http://host2/cgi-bin/motion-png.cgi [P,L]
+       RewriteRule ^/*superb/*$ http://gallery.jankratochvil.net/z2015-11-23-superb-crash/x/ [R=301,L]
 </IfModule>
index d4ef2b0..514da55 100644 (file)
@@ -48,15 +48,18 @@ our %WebConfig=(
                                                || $name eq "lace";
                                return escapeHTML($name);
                        },
-               "viewcvs_My"=>"http://cvs.jankratochvil.net/viewcvs/MyWeb/",
-               "viewcvs"=>"http://cvs.jankratochvil.net/viewcvs/www/www.jankratochvil.net/",
+#              "viewcvs_My"=>"http://cvs.jankratochvil.net/viewcvs/MyWeb/",
+#              "viewcvs"=>"http://cvs.jankratochvil.net/viewcvs/www/www.jankratochvil.net/",
+               "viewcvs_My"=>"http://git.jankratochvil.net/?p=MyWeb.git;a=blob;hb=HEAD;f=",
+               "viewcvs"=>"http://git.jankratochvil.net/?p=www.jankratochvil.net.git;a=blob;hb=HEAD;f=",
                "title_prefix"=>"Jan Kratochvil",
-               "project_viewcvs"=>"http://cvs.jankratochvil.net/viewcvs/",
-               "pserver"=>':pserver:pserver:@cvs.jankratochvil.net',
-               "pserver_path"=>"/cvs",
+#              "project_viewcvs"=>"http://cvs.jankratochvil.net/viewcvs/",
+               "project_viewcvs"=>"http://git.jankratochvil.net/",
+#              "pserver"=>':pserver:pserver:@cvs.jankratochvil.net',
+#              "pserver_path"=>"/cvs",
                "resume_url"=>$resume_url,
-               "mailman_url"  =>sub { return "http://".$My::Web::W->{"web_hostname"}."/mailman/"; },
-               "pipermail_url"=>sub { return "http://".$My::Web::W->{"web_hostname"}."/pipermail/"; },
+#              "mailman_url"  =>sub { return "http://".$My::Web::W->{"web_hostname"}."/mailman/"; },
+#              "pipermail_url"=>sub { return "http://".("www2.jankratochvil.net"||$My::Web::W->{"web_hostname"})."/pipermail/"; },
                "heading"=>sub () {
                        my $r="";
                        $r.='<table border="0" style="font-size: larger;" class="margin-center"><tr>'."\n";
@@ -78,7 +81,7 @@ our %WebConfig=(
                                                my @sections=(
                                                                "/project/"=>"Projects",
                                                                "/product/"=>"Products",
-                                                               "http://cvs.jankratochvil.net/"=>"CVS",
+                                                               "http://git.jankratochvil.net/"=>"GIT",
 #                                                                                      "/News.pm"=>"News",
                                                                $resume_url=>"Resume",
                                                                "/Contact.pm"=>"Contact",
index 043ad5d..4f86344 100755 (executable)
@@ -15,7 +15,8 @@ use Sys::Hostname::Long;
 use URI::Escape;
 
 
-my $URL_BASE="http://".hostname_long().":7680";
+#my $URL_BASE="http://".hostname_long().":7680";
+my $URL_BASE="http://www.jankratochvil.net";
 my $URL_VALIDATOR_BASE="http://validator.w3.org/check?uri=";
 my $URL_VALIDATOR_BASE_LOCAL="http://localhost/cgi-bin/check.cgi?uri=";
 
@@ -61,6 +62,7 @@ for (0,($opt_validate ? 1 : ())) {
                        if ($validate) {
                                $url=($opt_local ? $URL_VALIDATOR_BASE_LOCAL : $URL_VALIDATOR_BASE).uri_escape($url);
                                }
+$url=~s{\Q/Index.pm\E$}{/};
                        my $request=HTTP::Request->new("GET",$url);
                        $request->header("Cache-control"=>"no-cache");
                        # Do not: ...->request(...);
index 7746866..82eaa6a 100755 (executable)
@@ -23,11 +23,11 @@ print <<'HERE';
        $SIG{"__DIE__" }=sub { $_[0]=~/\n./ ? die  @_ : confess @_; };
 </Perl>
 
-<Directory "/">
-       Order Allow,Deny
-       Deny from all
-</Directory>
 HERE
+#<Directory "/">
+#      Order Allow,Deny
+#      Deny from all
+#</Directory>
 
 
 My::ModPerlPm->list("sub"=>sub {
@@ -38,10 +38,10 @@ PerlModule @{[ $p->{"module"} ]}
 <Location "@{[ $p->{"url"} ]}">
        SetHandler modperl
        PerlResponseHandler @{[ $p->{"module"} ]}
-       Order Deny,Allow
-       Allow from localhost
 </Location>
 HERE
+#      Order Deny,Allow
+#      Allow from localhost
        });
 
 print <<"HERE";
index cca579a..0f60fde 100644 (file)
 -----BEGIN PGP PUBLIC KEY BLOCK-----
-Version: GnuPG v1.4.7 (GNU/Linux)
+Version: GnuPG v1
 
-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
-=keh6
+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
+7XfUvDESSfXsVjyxOLca/L2dWFPldfAkglwGXw==
+=RGAT
 -----END PGP PUBLIC KEY BLOCK-----
index 7e628a0..e78ae5d 100644 (file)
@@ -52,7 +52,8 @@ my $ListItem=product::Lib->name_to_hashref("mms2");
 my %www_mms2_site=(
        "CZ"=>"www.mms2.cz",
        "SK"=>"www.mms2.cz",
-         ""=>"www.mms2.org",
+         ""=>"www.mms2.cz",
+#        ""=>"www.mms2.org",
        );
 my $www_mms2_site=text_cc \%www_mms2_site;
 $_="http://$_/" for values(%www_mms2_site);
index a08cbfa..04ebfa1 100644 (file)
@@ -33,8 +33,7 @@ our @ListItem=(
                "priority"=>540,
                "cvs"=>"macros",
                "link-Documentation"=>'/project/Pod2Html.pm?cvs=macros/AutoGen.pm',
-               # FIXME: 'http://cvs.jankratochvil.net/viewcvs/' -> $W->{"project_viewcvs"}
-               "link-Source file"=>'http://cvs.jankratochvil.net/viewcvs/'."*checkout*/macros/AutoGen.pm?rev=HEAD",
+               "link-Source file"=>'http://git.jankratochvil.net/?p=macros.git;a=blob_plain;hb=HEAD;f=AutoGen.pm',
                "summary"=>"autogen.sh while supporting CVS/.rpm/.deb",
                "license"=>"GPL",
                "maintenance"=>"active",
index 4cae2ac..a5aa3b4 100755 (executable)
@@ -44,7 +44,11 @@ My::Web->heading();
 
 local *F;
 open F,""
-               ."cvs -n -q -d ".$W->{"pserver"}.":".$W->{"pserver_path"}." rlog ".$W->{"args"}{"cvs"}
+
+#pserver:
+#              ."cvs -n -q -d ".$W->{"pserver"}.":".$W->{"pserver_path"}." rlog ".$W->{"args"}{"cvs"}
+               ."cvs -n -q -d "."/home/lace/pserver/cvs"." rlog ".$W->{"args"}{"cvs"}
+
                ." |perl -p -e 's#^RCS file: ".$W->{"pserver_path"}.'/(.*?)(?:/Attic/|/)?([^/]*),v$#$&\nWorking file: $1/$2#;'."'"
                ." |cvs2cl --stdin --stdout --window 3600 --separate-header --no-wrap --usermap ".path_abs_disk("/cvs2cl-usermap")
                ." |";
index e1931a8..6242464 100644 (file)
@@ -1 +1 @@
-DirectoryIndex FordFulk.shtml
+DirectoryIndex FordFulk.html
index d53f6ce..d11412f 100644 (file)
@@ -1 +1 @@
-DirectoryIndex Heat.shtml
+DirectoryIndex Heat.html
index 1e0cfba..882af6d 100644 (file)
@@ -1 +1 @@
-DirectoryIndex Islet.shtml
+DirectoryIndex Islet.html
index 6041704..e439ece 100644 (file)
@@ -99,7 +99,7 @@ my($class,$ListItem)=@_;
                {"key"=>qr(^cvs\b),"text"=>sub ($) {
                                                $_[0]=~s/^cvs//;
                                                $_[0]=~s/^-/ /;
-                                               return "CVS".$_[0];
+                                               return "GIT".$_[0];
                                                },
                                "format"=>sub ($$) {
                                                my($val,$key)=@_;
@@ -115,11 +115,15 @@ my($class,$ListItem)=@_;
 #                                                                              ." $val"),
                                                                join(" | \n\t\t",
                                                                                map({ a_href($_->[1],$_->[0]); }
-                                                                                               ["ViewCVS CVS repository",$W->{"project_viewcvs"}.$val."/".(!$branch ? "" : '?only_with_tag='.$branch)],
-                                                                                               ["Download CVS snapshot" ,
-                                                                                                               $W->{"project_viewcvs"}.$val."/".File::Basename::basename($val).".tar.gz?tarball=1"
-                                                                                                                               .(!$branch ? "" : '&only_with_tag='.$branch)],
-                                                                                               ["CVS ChangeLog"         ,"/project/ChangeLog.pm?cvs=$val"])));
+#                                                                                              ["ViewCVS CVS repository",$W->{"project_viewcvs"}.$val."/".(!$branch ? "" : '?only_with_tag='.$branch)],
+#                                                                                              ["Download CVS snapshot" ,
+#                                                                                                              $W->{"project_viewcvs"}.$val."/".File::Basename::basename($val).".tar.gz?tarball=1"
+#                                                                                                                              .(!$branch ? "" : '&only_with_tag='.$branch)],
+##FIXME:                                                                                               ["CVS ChangeLog"         ,"/project/ChangeLog.pm?cvs=$val"]
+                                                                                               ["GIT repository",$W->{"project_viewcvs"}."?p=$val.git;a=tree".(!$branch ? "" : ";hb=$branch")],
+                                                                                               ["Download GIT snapshot",$W->{"project_viewcvs"}."?p=$val.git;a=snapshot;sf=tgz;h=".(!$branch ? "HEAD" : "$branch")],
+                                                                                               ["GIT shortlog",$W->{"project_viewcvs"}."?p=$val.git;a=shortlog".(!$branch ? "" : ";h=refs/heads/$branch")]
+                                                                                               )));
                                                }},
                {"key"=>"ownership","text"=>"Ownership"},
                {"key"=>"sponsorship","text"=>"Sponsorship"},
index 87f203d..e9e5f80 100644 (file)
@@ -32,7 +32,7 @@ our @ListItem=(
                "platform"=>"web",
                "priority"=>250,
                "cvs"=>"MyWeb",
-               "cvs-of example web"=>"www/www.jankratochvil.net",
+               "cvs-of a sample web"=>"www.jankratochvil.net",
                "link-Example web"=>sub { return a_href('http://www.jankratochvil.net/'); },
                "summary"=>sub { return a_href('http://www.perl.org/','Perl')." web framework"; },
                "license"=>"GPL",
index a25cf62..11b9d84 100644 (file)
@@ -32,8 +32,7 @@ our @ListItem=(
                "platform"=>"unixuser",
                "priority"=>640,
                "cvs"=>"PerlMail",
-               # FIXME: 'http://cvs.jankratochvil.net/viewcvs/' -> $W->{"project_viewcvs"}
-               "link-README"=>'http://cvs.jankratochvil.net/viewcvs/'."*checkout*/PerlMail/README?rev=HEAD",
+               "link-README"=>'http://git.jankratochvil.net/?p=PerlMail.git;a=blob_plain;hb=HEAD;f=README',
                "summary"=>sub { return "Perl mail processor - ".a_href('http://www.procmail.org/','procmail')."(1) successor"; },
                "license"=>"GPL",
                "maintenance"=>"ready",
index 154f63c..277524a 100644 (file)
@@ -32,7 +32,7 @@ our @ListItem=(
                "platform"=>"w32",
                "priority"=>610,
                "icon"=>"TraceFS-icon.png",
-               "cvs"=>"captive/src/TraceFS",
+               "link-GIT subtree"=>'http://git.jankratochvil.net/?p=captive.git;a=tree;f=src/TraceFS',
                "link-Documentation"=>"/project/captive/doc/CacheManager.pm#TraceFS",
                "summary"=>"Microsoft Windows Kernel API Tracer",
                "license"=>"GPL",
index aab774e..3eafa9e 100644 (file)
@@ -35,8 +35,7 @@ our @ListItem=(
                "download-compiled static binary"=>"badblock-guess",
                "download-gzipped compiled static binary"=>"badblock-guess.gz",
                "cvs"=>"badblock-guess",
-               # FIXME: 'http://cvs.jankratochvil.net/viewcvs/' -> $W->{"project_viewcvs"}
-               "link-README"=>'http://cvs.jankratochvil.net/viewcvs/'."*checkout*/badblock-guess/README?rev=HEAD",
+               "link-README"=>'http://git.jankratochvil.net/?p=badblock-guess.git;a=blob_plain;hb=HEAD;f=README',
                "summary"=>"Data recovery from a damaged disk",
                "license"=>"GPL",
                "maintenance"=>"ready",
index 81e3c0d..b3f44b2 100755 (executable)
@@ -270,17 +270,21 @@ print <<"HERE";
 
 <h2 id="lists">Mailing Lists</h2>
 
-<p>The mailing list were closed.  You can only access their archive.</p>
-
-<table border="1" class="mailman" style="border-collapse: collapse; border-style: solid; border-width: 1px;">
-       <tr>@{[ map('<th>'.$_.'@jankratochvil.net</th>',@lists) ]}</tr>
-       <tr><td>New version announcements</td>
-                       <td>User support,<br />bug reports</td>
-                       <td>Development</td>
-                       </tr>
-       <tr>@{[ map({ "<td>".a_href($W->{"pipermail_url"}."$_",'Archive')."</td>"; } @lists) ]}</tr>
-</table>
+<p>The mailing list were closed.</p>
+HERE
 
+#<p>The mailing list were closed.  You can only access their archive.</p>
+#
+#<table border="1" class="mailman" style="border-collapse: collapse; border-style: solid; border-width: 1px;">
+#      <tr>@{[ map('<th>'.$_.'@jankratochvil.net</th>',@lists) ]}</tr>
+#      <tr><td>New version announcements</td>
+#                      <td>User support,<br />bug reports</td>
+#                      <td>Development</td>
+#                      </tr>
+#      <tr>@{[ map({ "<td>".a_href($W->{"pipermail_url"}."$_",'Archive')."</td>"; } @lists) ]}</tr>
+#</table>
+
+print <<"HERE";
 
 @{[ vskip "3ex" ]}
 
index 6d36dd0..35ed9c7 100644 (file)
@@ -31,8 +31,7 @@ our @ListItem=(
                "name"=>"checkstatic",
                "platform"=>"unixdevel",
                "priority"=>510,
-               # FIXME: 'http://cvs.jankratochvil.net/viewcvs/' -> $W->{"project_viewcvs"}
-               "download"=>'http://cvs.jankratochvil.net/viewcvs/'."*checkout*/nethome/bin/checkstatic?rev=HEAD",
+               "download"=>'http://git.jankratochvil.net/?p=nethome.git;a=blob_plain;hb=HEAD;f=bin/checkstatic',
                "summary"=>"C sources symbol attributes checker",
                "license"=>"PD",
                "maintenance"=>"ready",
index 3b00ead..111567f 100644 (file)
@@ -31,8 +31,7 @@ our @ListItem=(
                "name"=>"cvsbranchdiff",
                "platform"=>"unixdevel",
                "priority"=>490,
-               # FIXME: 'http://cvs.jankratochvil.net/viewcvs/' -> $W->{"project_viewcvs"}
-               "download"=>'http://cvs.jankratochvil.net/viewcvs/'."*checkout*/nethome/bin/cvsbranchdiff?rev=HEAD",
+               "download"=>'http://git.jankratochvil.net/?p=nethome.git;a=blob_plain;hb=HEAD;f=bin/cvsbranchdiff',
                "summary"=>"CVS Branching Utility",
                "license"=>"PD",
                "maintenance"=>"ready",
index a380ebb..ae40547 100644 (file)
@@ -33,8 +33,7 @@ our @ListItem=(
                "name"=>"cvsutil",
                "platform"=>"unixdevel",
                "priority"=>500,
-               # FIXME: 'http://cvs.jankratochvil.net/viewcvs/' -> $W->{"project_viewcvs"}
-               "download"=>'http://cvs.jankratochvil.net/viewcvs/'."*checkout*/nethome/bin/cvsutil?rev=HEAD",
+               "download"=>'http://git.jankratochvil.net/?p=nethome.git;a=blob_plain;hb=HEAD;f=bin/cvsutil',
                "summary"=>"Clean CVS checkout working files or safely change CVS/Root",
                "license"=>"PD",
                "maintenance"=>"merge",
index f562f0c..995cb0d 100644 (file)
@@ -31,7 +31,7 @@ our @ListItem=(
                "name"=>"PHP Web",
                "platform"=>"web",
                "priority"=>240,
-               "cvs"=>"www/www.energie.vellum.cz",
+               "cvs"=>"www.energie.vellum.cz",
                "link-Example web"=>sub { return a_href('http://www.energie.vellum.cz/'); },
                "summary"=>sub { return a_href('http://www.php.net/','PHP')." web framework"; },
                "license"=>"GPL",
index b74f7c2..094454b 100644 (file)
@@ -32,8 +32,7 @@ our @ListItem=(
                "platform"=>"unixuser",
                "trivia"=>1,
                "priority"=>20,
-               # FIXME: 'http://cvs.jankratochvil.net/viewcvs/' -> $W->{"project_viewcvs"}
-               "link-Source file"=>'http://cvs.jankratochvil.net/viewcvs/'."nethome/bin/fixhtml?rev=HEAD",
+               "link-Source file"=>'http://git.jankratochvil.net/?p=nethome.git;a=blob_plain;hb=HEAD;f=bin/fixhtml',
                "summary"=>"Convert HTML files URLs to relative ones",
                "license"=>"PD",
                "maintenance"=>sub {
index 19b905a..07d210f 100644 (file)
@@ -31,7 +31,7 @@ our @ListItem=(
                "name"=>sub { return a_href('http://www.tektonica.com/projects/gsmsms/','GSM::SMS').' patch'; },
                "platform"=>"patch",
                "priority"=>520,
-               "cvs"=>"gsmperl/GSM:lace",
+               "cvs"=>"gsmperl:lace",
                "summary"=>sub {
                                return 'Extension of '.a_href('http://www.tektonica.com/projects/gsmsms/','GSM::SMS').' for EMS+Alcatel';
                                },
index e1ec273..620c3fa 100644 (file)
@@ -33,8 +33,7 @@ our @ListItem=(
                "platform"=>"unixuser",
                "priority"=>486,
                "cvs"=>"harpy",
-               # FIXME: 'http://cvs.jankratochvil.net/viewcvs/' -> $W->{"project_viewcvs"}
-               "link-Source file"=>'http://cvs.jankratochvil.net/viewcvs/'."harpy/harpy?rev=HEAD",
+               "link-Source file"=>'http://git.jankratochvil.net/?p=harpy.git;a=blob_plain;hb=HEAD;f=harpy',
                "summary"=>"ARP spoofer of nonexisting ethernet addresses",
                "license"=>"GPL",
                "maintenance"=>"ready",
index 4232519..f2052b8 100644 (file)
@@ -33,8 +33,7 @@ our @ListItem=(
                "platform"=>"unixuser",
                "priority"=>435,
                "cvs"=>"inetdmx",
-               # FIXME: 'http://cvs.jankratochvil.net/viewcvs/' -> $W->{"project_viewcvs"}
-               "link-Source file"=>'http://cvs.jankratochvil.net/viewcvs/'."inetdmx/inetdmx.c?rev=HEAD",
+               "link-Source file"=>'http://git.jankratochvil.net/?p=inetdmx.git;a=blob_plain;hb=HEAD;f=inetdmx.c',
                "summary"=>"<i>xinetd</i>(8)/<i>inetd</i>(8) on-demand servers multiplexor",
                "license"=>"GPL",
                "maintenance"=>"ready",
index 8a87556..e5292c2 100644 (file)
@@ -33,7 +33,7 @@ our @ListItem=(
                "priority"=>370,
                "icon"=>"int13sniff-icon.png",
                "summary"=>'Trace PC bootloader disk operations',
-               "download-source"=>'http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/*checkout*/surprise/surprise/misc/int13sniff.S?rev=HEAD',
+               "download-source"=>'http://surprise.cvs.sourceforge.net/viewvc/surprise/surprise/misc/int13sniff.S?content-type=text/plain',
                "download-gzip(1)ped floppy image head"=>'int13sniff.bin.gz',
                "link-parent Surprise project"=>"/project/surprise/",
                "license"=>"GPL",
index 4d09723..ab2186c 100644 (file)
@@ -32,8 +32,7 @@ our @ListItem=(
                "platform"=>"unixuser",
                "priority"=>420,
                "icon"=>"charger-icon.jpeg",
-               # FIXME: 'http://cvs.jankratochvil.net/viewcvs/' -> $W->{"project_viewcvs"}
-               "download"=>'http://cvs.jankratochvil.net/viewcvs/'."*checkout*/nethome/bin/line9k?rev=HEAD",
+               "download"=>'http://git.jankratochvil.net/?p=nethome.git;a=blob_plain;hb=HEAD;f=bin/line9k',
                "summary"=>"Modem / Nokia 9110 GSM data gateway control, charger",
                "license"=>"PD",
                "maintenance"=>"ready",
index 39721ad..7edab7f 100644 (file)
@@ -32,21 +32,20 @@ our @ListItem=(
                "platform"=>"web",
                "trivia"=>1,
                "priority"=>460,
-               # FIXME: 'http://cvs.jankratochvil.net/viewcvs/' -> $W->{"project_viewcvs"}
-               "download"=>'http://cvs.jankratochvil.net/viewcvs/'."*checkout*/nethome/.userContent.css?rev=HEAD",
+               "download"=>'http://git.jankratochvil.net/?p=nethome.git;a=blob_plain;hb=HEAD;f=.userContent.css',
                "summary"=>sub {
                                return a_href('http://lynx.isc.org/','Lynx').' look&amp;feel with '
                                                .a_href('http://www.mozilla.org/','Mozilla').' web compatibility';
                                },
                "license"=>"PD",
-               "maintenance"=>"ready",
+               "maintenance"=>"dead-Gecko is no longer capable of .userContent.css processing",
                "language"=>"CSS",
                "description"=>sub { return <<"HERE"; },
 <p>@{[ a_href 'http://lynx.isc.org/','Lynx' ]} brings unified colors and fonts of all web pages.
 Unfortunately it is not the one of those two browsers respected by broken websites.
 To get back the unified look and feel of all the web pages while retaining the web compatibility
 you can override CSS settings of your @{[ a_href 'http://www.mozilla.org/','Mozilla' ]} by placing
-@{[ a_href 'http://cvs.jankratochvil.net/viewcvs/'."*checkout*/nethome/.userContent.css?rev=HEAD",
+@{[ a_href 'http://dyn.jankratochvil.net/nethome/'.".userContent.css?rev=HEAD",
                'userContent.css' ]}
 as your local file: @{[ '$HOME/.mozilla/$USER/*/chrome/userContent.css' ]}</p>
 HERE
index 7a58a86..45eed69 100644 (file)
@@ -33,8 +33,7 @@ our @ListItem=(
                "platform"=>"unixuser",
                "priority"=>483,
                "cvs"=>"netdnsspoof",
-               # FIXME: 'http://cvs.jankratochvil.net/viewcvs/' -> $W->{"project_viewcvs"}
-               "link-Source file"=>'http://cvs.jankratochvil.net/viewcvs/'."netdnsspoof/netdnsspoof?rev=HEAD",
+               "link-Source file"=>'http://git.jankratochvil.net/?p=netdnsspoof.git;a=blob_plain;hb=HEAD;f=netdnsspoof',
                "summary"=>"Network DNS proxy spoofing any nonexisting names",
                "license"=>"GPL",
                "maintenance"=>"ready",
index 86849bf..8557a82 100644 (file)
@@ -1,3 +1,3 @@
-DirectoryIndex index.shtml
-AddType "text/html; charset=iso-8859-2" .shtml
+DirectoryIndex index.html
+AddType "text/html; charset=iso-8859-2" .html
 #SourceCzechCodePageLocal CISO8859-2
similarity index 97%
rename from project/oslik/oslik/index.shtml
rename to project/oslik/oslik/index.html
index 79da9e5..2eb58e8 100644 (file)
@@ -5,10 +5,10 @@
 <HR>
 <A NAME="soft"><H2>Pou¾itý software:</H2></A>
 <P>Jako interpretr prologu jsem pou¾il
-<STRONG><A HREF="http://www.swi.psy.uva.nl/usr/jan/SWI-Prolog.html">SWI-Prolog</A></STRONG>,
+<STRONG><A HREF="http://www.swi-prolog.org/">SWI-Prolog</A></STRONG>,
 který je dodáván s vcelku pøijatelnými licenèními podmínkami
 (a zdrojové kódy jsou souèástí). Pøikládám <A HREF="pl-3.1.2.diff">krátký patch</A>, aby
-<STRONG><A HREF="http://www.swi.psy.uva.nl/usr/jan/SWI-Prolog.html">SWI-Prolog</A></STRONG>
+<STRONG><A HREF="http://www.swi-prolog.org/">SWI-Prolog</A></STRONG>
 nepoèítal percentuální podíly funkcí pøi profilování a vypnutí automatického
 <I>garbage collector</I>u.</P><UL>
 <LI>Profiling se mi hroutil díky nezablokování v¹ech signálù pøi volání <CODE>sigblock()</CODE>,
@@ -23,7 +23,7 @@ syst
 <A HREF="http://www.kernel.org/pub/linux/kernel/v2.1/linux-2.1.132.tar.bz2">kernel Linus-2.1.132</A>,
 glibc-2.0.7-980507, gcc version pgcc-2.91.57 19980901 (egcs-1.1 release),
 GNU Make version 3.76.1, GNU textutils 1.22.
-<LI><A HREF="http://www.swi.psy.uva.nl/usr/jan/SWI-Prolog.html">SWI-Prolog</A> verze 3.1.2.
+<LI><A HREF="http://www.swi-prolog.org/">SWI-Prolog</A> verze 3.1.2.
 </UL>
 <P>Díval jsem se také na
 <A HREF="http://www.binnetcorp.com/BinProlog/">BinProlog</A>, ale zdrojové
@@ -186,7 +186,7 @@ predik
 <TABLE ALIGN=CENTER BORDER=1>
 <TR><TD>Datum:<TD ALIGN=CENTER>30. 12. 1998</TD></TR>
 <TR><TD>Autor:<TD ALIGN=CENTER>Jan Kratochvíl</TD></TR>
-<TR><TD>Kontakt:<TD ALIGN=CENTER>e-mail <A HREF="mailto:short@ucw.cz">short@ucw.cz</A></TD></TR>
+<TR><TD>Kontakt:<TD ALIGN=CENTER>e-mail <A HREF="mailto:web@jankratochvil.net">web@jankratochvil.net</A></TD></TR>
 <TR><TD>Licence:<TD ALIGN=CENTER>Public domain</TD></TR>
 </TABLE>
 <P>Tento software je poskytnut bez jakýchkoliv záruk a autor nenese ¾ádnou zodpovìdnost
index 1612228..34794e1 100644 (file)
@@ -32,8 +32,8 @@ our @ListItem=(
                "platform"=>"web",
                "trivia"=>1,
                "priority"=>380,
-               # FIXME: 'http://cvs.jankratochvil.net/viewcvs/' -> $W->{"project_viewcvs"}
-               "download"=>'http://cvs.jankratochvil.net/viewcvs/'."*checkout*/nethome/WWW/cgi-bin/postget.php?rev=HEAD",
+#              "download"=>'http://git.jankratochvil.net/?p=nethome.git;a=blob_plain;hb=HEAD;f=WWW/cgi-bin/postget.php',
+               "download"=>"postget.php",
                "summary"=>sub {
                                return "Bookmark ".a_href('http://www.w3.org/TR/html4/interact/forms.html#h-17.13.1','POST')
                                                .' forms, hide passwords';
@@ -65,12 +65,12 @@ print <<"HERE";
 <ul>
        <li>
                <p>Store the
-                               @{[ a_href $W->{"project_viewcvs"}."*checkout*/nethome/WWW/cgi-bin/postget.php?rev=HEAD",'downloaded file' ]}
+                               @{[ a_href "postget.php",'downloaded file' ]}
                as <b>/home/lace/WWW/cgi-bin/postget.php</b>.</p>
        </li>
        <li>
                <p>Edit path to your <b>priv</b> directory in the stored
-               <b>@{[ a_href $W->{"project_viewcvs"}."*checkout*/nethome/WWW/cgi-bin/postget.php?rev=HEAD",'postget.php' ]}</b>.</p>
+               <b>@{[ a_href "postget.php",'postget.php' ]}</b>.</p>
        </li>
        <li>
                <p>Bookmark the following @{[ a_href 'http://freshmeat.net/','Freshmeat' ]} URL:
index c95b02d..9cf5c6b 100644 (file)
@@ -31,8 +31,7 @@ our @ListItem=(
                "name"=>"ppp9k",
                "platform"=>"unixuser",
                "priority"=>410,
-               # FIXME: 'http://cvs.jankratochvil.net/viewcvs/' -> $W->{"project_viewcvs"}
-               "download"=>'http://cvs.jankratochvil.net/viewcvs/'."*checkout*/nethome/bin/ppp9k?rev=HEAD",
+               "download"=>'http://git.jankratochvil.net/?p=nethome.git;a=blob_plain;hb=HEAD;f=bin/ppp9k',
                "summary"=>sub {
                                return "Connect "
                                                .a_href('http://www.nokia.com/phones/9110i','Nokia Communicator')
index f33a3d9..bfa906e 100644 (file)
@@ -34,8 +34,7 @@ our @ListItem=(
                "icon"=>"cnet-icon.png",
                "cvs"=>"redirector-ad",
                "summary"=>sub { return 'Banner killer as '.a_href('http://www.squid-cache.org/','Squid').' redirector filter'; },
-               # FIXME: 'http://cvs.jankratochvil.net/viewcvs/' -> $W->{"project_viewcvs"}
-               "link-README"=>'http://cvs.jankratochvil.net/viewcvs/'."*checkout*/redirector-ad/README?rev=HEAD",
+               "link-README"=>'http://git.jankratochvil.net/?p=redirector-ad.git;a=blob_plain;hb=HEAD;f=README',
                "license"=>"PD",
                "maintenance"=>"ready",
                "language"=>"Perl",
index c7f641f..251d8b9 100644 (file)
@@ -68,7 +68,7 @@ I did not need it anywhere and it gets everything simpler and smaller this way.<
 although without <b>gcc -static</b>. As the last step you should relink the binaries against
 this <i>staticbuild</i> libraries by hand - it is not much possible to convince
 <i>automake</i>(1) to properly relink it the minized way for you. Check the
-'@{[ a_href 'http://cvs.jankratochvil.net/viewcvs/captive/build-static?rev=HEAD','build-static' ]}'
+'@{[ a_href 'http://git.jankratochvil.net/?p=captive.git;a=blob_plain;hb=HEAD;f=build-static','build-static' ]}'
 script for an example.</p>
 <p>This package has been used in its current or former versions for my projects:</p>
 HERE
index b4c08a9..c1f69e2 100644 (file)
@@ -65,11 +65,11 @@ include:</p>
 <li>multiple "<code>member</code>" keyword memberships supported</li>
 <li>"<code>host</code>" entity unified with "<code>user</code>"/"<code>group</code>" entities</li>
 <li>"<code>when</code>" blocks implemented for NAS host based configuration</li>
-<li>all <code><a href="http://cvs.jankratochvil.net/viewcvs/tac_plus/Makefile.in">Makefile.in</a></code> options moved to
-    <code><a href="http://cvs.jankratochvil.net/viewcvs/tac_plus/configure.in">configure.in</a></code></li>
-<li><code><a href="http://cvs.jankratochvil.net/viewcvs/tac_plus/Makefile.in">Makefile.in</a></code> rewritten to
+<li>all <code><a href="http://git.jankratochvil.net/?p=tac_plus.git;a=blob_plain;hb=HEAD;f=Makefile.in">Makefile.in</a></code> options moved to
+    <code><a href="http://git.jankratochvil.net/?p=tac_plus.git;a=blob_plain;hb=HEAD;f=configure.in">configure.in</a></code></li>
+<li><code><a href="http://git.jankratochvil.net/?p=tac_plus.git;a=blob_plain;hb=HEAD;f=Makefile.in">Makefile.in</a></code> rewritten to
     <i><a href="http://www.gnu.org/software/automake/automake.html">automake</a></i>
-    <code><a href="http://cvs.jankratochvil.net/viewcvs/tac_plus/Makefile.am">Makefile.am</a></code></li>
+    <code><a href="http://git.jankratochvil.net/?p=tac_plus.git;a=blob_plain;hb=HEAD;f=Makefile.am">Makefile.am</a></code></li>
 </ul>
 HERE
 
index 540ee40..c84c811 100644 (file)
@@ -33,8 +33,7 @@ our @ListItem=(
                "platform"=>"unixuser",
                "priority"=>555,
                "cvs"=>"tcpoverudp",
-               # FIXME: 'http://cvs.jankratochvil.net/viewcvs/' -> $W->{"project_viewcvs"}
-               "link-Source file"=>'http://cvs.jankratochvil.net/viewcvs/'."tcpoverudp/tcpoverudp?rev=HEAD",
+               "link-Source file"=>'http://git.jankratochvil.net/?p=tcpoverudp.git;a=blob_plain;hb=HEAD;f=tcpoverudp',
                "summary"=>"Forward TCP connections over UDP without root",
                "license"=>"GPL",
                "maintenance"=>"ready",
index bf6f98e..a23f293 100644 (file)
@@ -32,9 +32,7 @@ our @ListItem=(
                "name"=>"xbelnormalize",
                "platform"=>"unixuser",
                "priority"=>585,
-               "cvs"=>"nethome/bin/xbelnormalize",
-               # FIXME: 'http://cvs.jankratochvil.net/viewcvs/' -> $W->{"project_viewcvs"}
-               "link-Source file"=>'http://cvs.jankratochvil.net/viewcvs/'."nethome/bin/xbelnormalize?rev=HEAD",
+               "link-Source file"=>'http://git.jankratochvil.net/?p=nethome.git;a=blob_plain;hb=HEAD;f=bin/xbelnormalize',
                "summary"=>"Bookmarks .xbel file normalizator",
                "license"=>"GPL",
                "maintenance"=>"ready",
index 363310b..134c8fa 100644 (file)
@@ -25,7 +25,6 @@ use strict;
 use warnings;
 
 use My::Web;
-require Crypt::Rot13;
 Wrequire 'project::Lib';
 Wrequire 'product::Lib';
 
@@ -46,7 +45,7 @@ my($self)=@_;
                                       a_href('/resume/ResumeJanKratochvil.pdf','PDF'),
                                       a_href('/resume/ResumeJanKratochvil.txt','text'),
                                       )." ]",
-               "OpenPGP" =>a_href('/pgp-JanKratochvil.txt','4D2089DB'),
+               "OpenPGP" =>a_href('/pgp-JanKratochvil.txt','1F0D6D7B'),
        );
 }
 
@@ -129,9 +128,8 @@ my($mail,$fullname)=@_;
        $r.='<td>';
                $r.=$fullname;
                if (lc($W->{"args"}{"referees"}) eq "referees") {
-                       my $rot13=Crypt::Rot13->new();
-                       $rot13->charge($mail);
-                       $mail=($rot13->rot13())[0];
+                       # &Crypt::Rot13::rot13
+                       $mail=~tr/a-zA-Z/n-za-mN-ZA-M/;
                        $r.=' &lt;'.a_href("mailto:$mail").'&gt;';
                        }
        $r.='</td>';
@@ -168,7 +166,8 @@ print <<"HERE";
 
 @{[ vskip "2ex" ]}
 
-<p>Not looking for a new job.</p>
+@{[ # <p>Not looking for a new job.</p>
+]}
 
 @{[ vskip "2ex" ]}
 
@@ -338,7 +337,7 @@ print <<"HERE";
 <tr><td class="tab-head">Protocols    </td><td>GSM SMS/PDU/Nokia&nbsp;Smart&nbsp;Messaging/EMS/WAP/WTP/WSP/MMSE/SMIL/WML/AMR/ETSI stds/3GPP stds,
                                                IPv4, HTTP, SMTP/RFC822/MIME, FTP, SSH, DHCP, POP3, IMAP4, NFS v2/v3, PPP/LCP/IPCP,...</td></tr>
 <tr><td class="tab-head">Filesystems  </td><td>ext2, FAT, AmigaFFS, ISO-9660</td></tr>
-<tr><td class="tab-head">Certificates </td><td>@{[ a_href('https://www.redhat.com/wapps/training/certification/verify.html?certNumber=805008572734652','RHCE') ]}</td></tr>
+<tr><td class="tab-head">Certificates </td><td>@{[ a_href('https://www.redhat.com/rhtapps/certification/verify/?certId=110-518-099','RHCE 110-518-099') ]}</td></tr>
 </table>
 
 @{[ vskip "2ex" ]}
index cf40aa5..99a7559 100644 (file)
@@ -154,7 +154,7 @@ Protocols:
 Filesystems:
   ext2, FAT, AmigaFFS, ISO-9660
 Certificates:
-  RHCE 805008572734652
+  RHCE 110-518-099
 
 
 $Id$