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>
 <IfModule mod_dir.c>
-       DirectoryIndex _NOTEXISTS
+#      DirectoryIndex _NOTEXISTS
        IndexOptions NameWidth=*
 </IfModule>
 
 Options None
        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
        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
 
 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 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
 
 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 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
 
 # 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>
 </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}}
        # 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
        # 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 ^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:
                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>
 </IfModule>
index d4ef2b0..514da55 100644 (file)
@@ -48,15 +48,18 @@ our %WebConfig=(
                                                || $name eq "lace";
                                return escapeHTML($name);
                        },
                                                || $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",
                "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,
                "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";
                "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",
                                                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",
 #                                                                                      "/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;
 
 
 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=";
 
 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);
                                }
                        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(...);
                        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>
 
        $SIG{"__DIE__" }=sub { $_[0]=~/\n./ ? die  @_ : confess @_; };
 </Perl>
 
-<Directory "/">
-       Order Allow,Deny
-       Deny from all
-</Directory>
 HERE
 HERE
+#<Directory "/">
+#      Order Allow,Deny
+#      Deny from all
+#</Directory>
 
 
 My::ModPerlPm->list("sub"=>sub {
 
 
 My::ModPerlPm->list("sub"=>sub {
@@ -38,10 +38,10 @@ PerlModule @{[ $p->{"module"} ]}
 <Location "@{[ $p->{"url"} ]}">
        SetHandler modperl
        PerlResponseHandler @{[ $p->{"module"} ]}
 <Location "@{[ $p->{"url"} ]}">
        SetHandler modperl
        PerlResponseHandler @{[ $p->{"module"} ]}
-       Order Deny,Allow
-       Allow from localhost
 </Location>
 HERE
 </Location>
 HERE
+#      Order Deny,Allow
+#      Allow from localhost
        });
 
 print <<"HERE";
        });
 
 print <<"HERE";
index cca579a..0f60fde 100644 (file)
 -----BEGIN PGP PUBLIC KEY BLOCK-----
 -----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-----
 -----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",
 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);
        );
 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',
                "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",
                "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,""
 
 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")
                ." |";
                ." |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/^-/ /;
                {"key"=>qr(^cvs\b),"text"=>sub ($) {
                                                $_[0]=~s/^cvs//;
                                                $_[0]=~s/^-/ /;
-                                               return "CVS".$_[0];
+                                               return "GIT".$_[0];
                                                },
                                "format"=>sub ($$) {
                                                my($val,$key)=@_;
                                                },
                                "format"=>sub ($$) {
                                                my($val,$key)=@_;
@@ -115,11 +115,15 @@ my($class,$ListItem)=@_;
 #                                                                              ." $val"),
                                                                join(" | \n\t\t",
                                                                                map({ a_href($_->[1],$_->[0]); }
 #                                                                              ." $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"},
                                                }},
                {"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",
                "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",
                "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",
                "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",
                "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",
                "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",
                "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",
                "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",
                "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>
 
 
 <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" ]}
 
 
 @{[ vskip "3ex" ]}
 
index 6d36dd0..35ed9c7 100644 (file)
@@ -31,8 +31,7 @@ our @ListItem=(
                "name"=>"checkstatic",
                "platform"=>"unixdevel",
                "priority"=>510,
                "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",
                "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,
                "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",
                "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,
                "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",
                "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,
                "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",
                "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,
                "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 {
                "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,
                "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';
                                },
                "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",
                "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",
                "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",
                "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",
                "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',
                "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",
                "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",
                "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",
                "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,
                "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",
                "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
                "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
                '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",
                "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",
                "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
 #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
 <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
 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>,
 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.
 <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é
 </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>
 <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
 <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,
                "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';
                "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
 <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
                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:
        </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,
                "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')
                "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'; },
                "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",
                "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
 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
 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>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>
     <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
 
 </ul>
 HERE
 
index 540ee40..c84c811 100644 (file)
@@ -33,8 +33,7 @@ our @ListItem=(
                "platform"=>"unixuser",
                "priority"=>555,
                "cvs"=>"tcpoverudp",
                "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",
                "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,
                "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",
                "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;
 use warnings;
 
 use My::Web;
-require Crypt::Rot13;
 Wrequire 'project::Lib';
 Wrequire 'product::Lib';
 
 Wrequire 'project::Lib';
 Wrequire 'product::Lib';
 
@@ -46,7 +45,7 @@ my($self)=@_;
                                       a_href('/resume/ResumeJanKratochvil.pdf','PDF'),
                                       a_href('/resume/ResumeJanKratochvil.txt','text'),
                                       )." ]",
                                       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") {
        $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>';
                        $r.=' &lt;'.a_href("mailto:$mail").'&gt;';
                        }
        $r.='</td>';
@@ -168,7 +166,8 @@ print <<"HERE";
 
 @{[ vskip "2ex" ]}
 
 
 @{[ vskip "2ex" ]}
 
-<p>Not looking for a new job.</p>
+@{[ # <p>Not looking for a new job.</p>
+]}
 
 @{[ vskip "2ex" ]}
 
 
 @{[ 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">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" ]}
 </table>
 
 @{[ vskip "2ex" ]}
index cf40aa5..99a7559 100644 (file)
@@ -154,7 +154,7 @@ Protocols:
 Filesystems:
   ext2, FAT, AmigaFFS, ISO-9660
 Certificates:
 Filesystems:
   ext2, FAT, AmigaFFS, ISO-9660
 Certificates:
-  RHCE 805008572734652
+  RHCE 110-518-099
 
 
 $Id$
 
 
 $Id$