Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package gap-crypting for openSUSE:Factory checked in at 2026-08-18 16:36:41 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gap-crypting (Old) and /work/SRC/openSUSE:Factory/.gap-crypting.new.1258 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gap-crypting" Tue Aug 18 16:36:41 2026 rev:5 rq:1371719 version:0.10.7 Changes: -------- --- /work/SRC/openSUSE:Factory/gap-crypting/gap-crypting.changes 2025-06-20 16:54:51.897807624 +0200 +++ /work/SRC/openSUSE:Factory/.gap-crypting.new.1258/gap-crypting.changes 2026-08-18 16:37:08.993360748 +0200 @@ -1,0 +2,6 @@ +Tue Aug 18 10:05:52 UTC 2026 - Jan Engelhardt <[email protected]> + +- Update to release 0.10.7 + * Project-internal CI/CD files were updated. + +------------------------------------------------------------------- Old: ---- crypting-0.10.6.tar.gz New: ---- crypting-0.10.7.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gap-crypting.spec ++++++ --- /var/tmp/diff_new_pack.PmNgqJ/_old 2026-08-18 16:37:09.766388444 +0200 +++ /var/tmp/diff_new_pack.PmNgqJ/_new 2026-08-18 16:37:09.769388552 +0200 @@ -1,7 +1,7 @@ # # spec file for package gap-crypting # -# Copyright (c) 2025 SUSE LLC +# Copyright (c) 2026 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,12 +12,12 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # Name: gap-crypting -Version: 0.10.6 +Version: 0.10.7 Release: 0 Summary: GAP: Support for hashes and crypto License: BSD-3-Clause @@ -27,8 +27,7 @@ Source: https://github.com/gap-packages/crypting/releases/download/v%version/crypting-%version.tar.gz BuildRequires: gap-devel BuildRequires: gap-rpm-devel -Requires: gap-core >= 4.10 -Requires: gap-gapdoc >= 1.5 +Requires: gap-core >= 4.12 %description This GAP module implements some cryptographic primitives. At the ++++++ _scmsync.obsinfo ++++++ --- /var/tmp/diff_new_pack.PmNgqJ/_old 2026-08-18 16:37:09.828390666 +0200 +++ /var/tmp/diff_new_pack.PmNgqJ/_new 2026-08-18 16:37:09.833390845 +0200 @@ -1,5 +1,5 @@ -mtime: 1750420478 -commit: 52c4ce8170667ebb827d12e698de25b977875a9aef5047b1464075ad424c8bf6 +mtime: 1787047579 +commit: 954108b1320a123a39e8c2fabc7e37535bfeecd4a7be7e6f75b86673cb82d05e url: https://src.opensuse.org/jengelh/gap-crypting revision: master ++++++ build.specials.obscpio ++++++ ++++++ build.specials.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.gitignore new/.gitignore --- old/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/.gitignore 2026-08-18 12:06:19.000000000 +0200 @@ -0,0 +1 @@ +.osc ++++++ crypting-0.10.6.tar.gz -> crypting-0.10.7.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crypting-0.10.6/PackageInfo.g new/crypting-0.10.7/PackageInfo.g --- old/crypting-0.10.6/PackageInfo.g 2025-06-20 13:14:31.000000000 +0200 +++ new/crypting-0.10.7/PackageInfo.g 2026-08-18 02:00:00.000000000 +0200 @@ -10,8 +10,8 @@ PackageName := "crypting", Subtitle := "Hashes and Crypto in GAP", -Version := "0.10.6", -Date := "20/06/2025", # dd/mm/yyyy format +Version := "0.10.7", +Date := "18/08/2026", # dd/mm/yyyy format License := "BSD-3-Clause", Persons := [ @@ -73,7 +73,7 @@ Dependencies := rec( GAP := ">= 4.12", - NeededOtherPackages := [ [ "GAPDoc", ">= 1.5" ] ], + NeededOtherPackages := [ ], SuggestedOtherPackages := [ ], ExternalConditions := [ ], ), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crypting-0.10.6/README.md new/crypting-0.10.7/README.md --- old/crypting-0.10.6/README.md 2025-06-20 13:14:31.000000000 +0200 +++ new/crypting-0.10.7/README.md 2026-08-18 02:00:00.000000000 +0200 @@ -1,4 +1,4 @@ -[](https://github.com/gap-packages/crypting/actions?query=workflow%3ACI+branch%3Amaster) +[](https://github.com/gap-packages/crypting/actions/workflows/CI.yml) [](https://codecov.io/gh/gap-packages/crypting) # The GAP 4 package `crypting' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crypting-0.10.6/doc/_Chapter_CryptinG_Functions.xml new/crypting-0.10.7/doc/_Chapter_CryptinG_Functions.xml --- old/crypting-0.10.6/doc/_Chapter_CryptinG_Functions.xml 2025-06-20 13:14:41.000000000 +0200 +++ new/crypting-0.10.7/doc/_Chapter_CryptinG_Functions.xml 2026-08-18 02:00:00.000000000 +0200 @@ -9,7 +9,7 @@ <P/> <ManSection> - <Filt Arg="arg" Name="IsSHA256State" Label="for IsObject"/> + <Filt Arg="arg" Type="Category" Name="IsCryptingSHA256State" Label="for IsObject"/> <Returns><K>true</K> or <K>false</K> </Returns> <Description> @@ -17,33 +17,6 @@ </Description> </ManSection> - -<ManSection> - <Var Name="CRYPTING_SHA256_State_Family" /> - <Description> -<P/> - </Description> -</ManSection> - - -<ManSection> - <Var Name="CRYPTING_SHA256_State_Type" /> - <Description> -<P/> - </Description> -</ManSection> - - -<ManSection> - <Func Arg="int, pad, length" Name="CRYPTING_HexStringIntPad" /> - <Description> - Call <Ref Label="HexStringInt" BookName="ref"/> on the argument <A>int</A> - then pad the string on the left to <A>length</A> using padding - letter <A>pad</A> - </Description> -</ManSection> - - <ManSection> <Func Arg="int" Name="CRYPTING_HexStringIntPad8" /> <Description> @@ -53,10 +26,8 @@ </Description> </ManSection> - </Section> - <Section Label="Chapter_CryptinG_Functions_Section_Hash_functions"> <Heading>Hash functions</Heading> @@ -68,10 +39,8 @@ </Description> </ManSection> - </Section> - <Section Label="Chapter_CryptinG_Functions_Section_HMAC"> <Heading>HMAC</Heading> @@ -83,9 +52,7 @@ </Description> </ManSection> - </Section> - </Chapter> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crypting-0.10.6/doc/_entities.xml new/crypting-0.10.7/doc/_entities.xml --- old/crypting-0.10.6/doc/_entities.xml 2025-06-20 13:14:41.000000000 +0200 +++ new/crypting-0.10.7/doc/_entities.xml 2026-08-18 02:00:00.000000000 +0200 @@ -1 +1,4 @@ +<!ENTITY RELEASEDATE '18 August 2026'> +<!ENTITY RELEASEYEAR '2026'> +<!ENTITY VERSION '0.10.7'> <!ENTITY crypting '<Package>crypting</Package>'> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crypting-0.10.6/doc/_main.tex new/crypting-0.10.7/doc/_main.tex --- old/crypting-0.10.6/doc/_main.tex 1970-01-01 01:00:00.000000000 +0100 +++ new/crypting-0.10.7/doc/_main.tex 2026-08-18 02:00:00.000000000 +0200 @@ -0,0 +1,222 @@ +% generated by GAPDoc2LaTeX from XML source (Frank Luebeck) +\documentclass[a4paper,11pt]{report} + +\usepackage[top=37mm,bottom=37mm,left=27mm,right=27mm]{geometry} +\sloppy +\pagestyle{myheadings} +\usepackage{amssymb} +\usepackage[utf8]{inputenc} +\usepackage{makeidx} +\makeindex +\usepackage{color} +\definecolor{FireBrick}{rgb}{0.5812,0.0074,0.0083} +\definecolor{RoyalBlue}{rgb}{0.0236,0.0894,0.6179} +\definecolor{RoyalGreen}{rgb}{0.0236,0.6179,0.0894} +\definecolor{RoyalRed}{rgb}{0.6179,0.0236,0.0894} +\definecolor{LightBlue}{rgb}{0.8544,0.9511,1.0000} +\definecolor{Black}{rgb}{0.0,0.0,0.0} + +\definecolor{linkColor}{rgb}{0.0,0.0,0.554} +\definecolor{citeColor}{rgb}{0.0,0.0,0.554} +\definecolor{fileColor}{rgb}{0.0,0.0,0.554} +\definecolor{urlColor}{rgb}{0.0,0.0,0.554} +\definecolor{promptColor}{rgb}{0.0,0.0,0.589} +\definecolor{brkpromptColor}{rgb}{0.589,0.0,0.0} +\definecolor{gapinputColor}{rgb}{0.589,0.0,0.0} +\definecolor{gapoutputColor}{rgb}{0.0,0.0,0.0} + +%% for a long time these were red and blue by default, +%% now black, but keep variables to overwrite +\definecolor{FuncColor}{rgb}{0.0,0.0,0.0} +%% strange name because of pdflatex bug: +\definecolor{Chapter }{rgb}{0.0,0.0,0.0} +\definecolor{DarkOlive}{rgb}{0.1047,0.2412,0.0064} + + +\usepackage{fancyvrb} + +\usepackage{mathptmx,helvet} +\usepackage[T1]{fontenc} +\usepackage{textcomp} + + +\usepackage[ + pdftex=true, + bookmarks=true, + a4paper=true, + pdftitle={Written with GAPDoc}, + pdfcreator={LaTeX with hyperref package / GAPDoc}, + colorlinks=true, + backref=page, + breaklinks=true, + linkcolor=linkColor, + citecolor=citeColor, + filecolor=fileColor, + urlcolor=urlColor, + pdfpagemode={UseNone}, + ]{hyperref} + +\newcommand{\maintitlesize}{\fontsize{50}{55}\selectfont} + +% write page numbers to a .pnr log file for online help +\newwrite\pagenrlog +\immediate\openout\pagenrlog =\jobname.pnr +\immediate\write\pagenrlog{PAGENRS := [} +\newcommand{\logpage}[1]{\protect\write\pagenrlog{#1, \thepage,}} +%% were never documented, give conflicts with some additional packages + +\newcommand{\GAP}{\textsf{GAP}} + +%% nicer description environments, allows long labels +\usepackage{enumitem} +\setdescription{style=nextline} + +%% depth of toc +\setcounter{tocdepth}{1} + + + + + +%% command for ColorPrompt style examples +\newcommand{\gapprompt}[1]{\color{promptColor}{\bfseries #1}} +\newcommand{\gapbrkprompt}[1]{\color{brkpromptColor}{\bfseries #1}} +\newcommand{\gapinput}[1]{\color{gapinputColor}{#1}} + + +\begin{document} + +\logpage{[ 0, 0, 0 ]} +\begin{titlepage} +\mbox{}\vfill + +\begin{center}{\maintitlesize \textbf{ crypting \\ +\mbox{}}}\\ +\vfill + +\hypersetup{pdftitle={ crypting }} +\markright{\scriptsize \mbox{}\hfill crypting \hfill\mbox{}} +{\Huge \textbf{ Hashes and Crypto in \textsf{GAP} \\ +\mbox{}}}\\ +\vfill + +{\Huge 0.10.7 \mbox{}}\\[1cm] +{ 18 August 2026 \mbox{}}\\[1cm] +\mbox{}\\[2cm] +{\Large \textbf{\strut Markus Pfeiffer \strut\mbox{}}}\\ +\hypersetup{pdfauthor={ Markus Pfeiffer }} +\end{center}\vfill + +\mbox{}\\ +{\mbox{}\\ +\small \noindent \textbf{ Markus Pfeiffer } Email: \href{mailto://[email protected]} {\texttt{[email protected]}}\\ + Homepage: \href{http://www.morphism.de/~markusp/} {\texttt{http://www.morphism.de/\texttt{\symbol{126}}markusp/}}}\\ +\end{titlepage} + +\newpage\setcounter{page}{2} +\newpage + +\def\contentsname{Contents\logpage{[ 0, 0, 1 ]}} + +\tableofcontents +\newpage + + +\chapter{\textcolor{Chapter }{CryptinG Functions}}\label{Chapter_CryptinG_Functions} +\logpage{[ 1, 0, 0 ]} +\hyperdef{L}{X86B8290A7E3586B5}{} +{ + +\section{\textcolor{Chapter }{Internal Types and Functions}}\label{Chapter_CryptinG_Functions_Section_Internal_Types_and_Functions} +\logpage{[ 1, 1, 0 ]} +\hyperdef{L}{X7A99D08C7A17A5D9}{} +{ + + + + +\subsection{\textcolor{Chapter }{IsCryptingSHA256State (for IsObject)}} +\logpage{[ 1, 1, 1 ]}\nobreak +\hyperdef{L}{X7E047C2683ED4793}{} +{\noindent\textcolor{FuncColor}{$\triangleright$\enspace\texttt{IsCryptingSHA256State({\mdseries\slshape arg})\index{IsCryptingSHA256State@\texttt{IsCryptingSHA256State}!for IsObject} +\label{IsCryptingSHA256State:for IsObject} +}\hfill{\scriptsize (Category)}}\\ +\textbf{\indent Returns:\ } +\texttt{true} or \texttt{false} + + + + + + } + + + +\subsection{\textcolor{Chapter }{CRYPTING{\textunderscore}HexStringIntPad8}} +\logpage{[ 1, 1, 2 ]}\nobreak +\hyperdef{L}{X790560687943E483}{} +{\noindent\textcolor{FuncColor}{$\triangleright$\enspace\texttt{CRYPTING{\textunderscore}HexStringIntPad8({\mdseries\slshape int})\index{CRYPTING{\textunderscore}HexStringIntPad8@\texttt{CRY}\-\texttt{P}\-\texttt{T}\-\texttt{I}\-\texttt{N}\-\texttt{G{\textunderscore}}\-\texttt{Hex}\-\texttt{String}\-\texttt{Int}\-\texttt{Pad8}} +\label{CRYPTINGuScoreHexStringIntPad8} +}\hfill{\scriptsize (function)}}\\ + + + Call \textbf{Reference: HexStringInt} on the argument \mbox{\texttt{\mdseries\slshape int}} then pad the string on the left to length 8 using padding letter 0. } + + } + + +\section{\textcolor{Chapter }{Hash functions}}\label{Chapter_CryptinG_Functions_Section_Hash_functions} +\logpage{[ 1, 2, 0 ]} +\hyperdef{L}{X7AE36B967EB1382B}{} +{ + + +\subsection{\textcolor{Chapter }{SHA256String}} +\logpage{[ 1, 2, 1 ]}\nobreak +\hyperdef{L}{X7FFA0D5C7C5CB820}{} +{\noindent\textcolor{FuncColor}{$\triangleright$\enspace\texttt{SHA256String({\mdseries\slshape string})\index{SHA256String@\texttt{SHA256String}} +\label{SHA256String} +}\hfill{\scriptsize (function)}}\\ + + + Compute the SHA256 hash of the argument \mbox{\texttt{\mdseries\slshape string}} in \texttt{IsStringRep} } + + } + + +\section{\textcolor{Chapter }{HMAC}}\label{Chapter_CryptinG_Functions_Section_HMAC} +\logpage{[ 1, 3, 0 ]} +\hyperdef{L}{X798E9B5587D955DB}{} +{ + + +\subsection{\textcolor{Chapter }{HMACSHA256}} +\logpage{[ 1, 3, 1 ]}\nobreak +\hyperdef{L}{X831194C88571B5B1}{} +{\noindent\textcolor{FuncColor}{$\triangleright$\enspace\texttt{HMACSHA256({\mdseries\slshape key, string})\index{HMACSHA256@\texttt{HMACSHA256}} +\label{HMACSHA256} +}\hfill{\scriptsize (function)}}\\ + + + Compute the HMAC SHA256 given a \mbox{\texttt{\mdseries\slshape key}} and a \mbox{\texttt{\mdseries\slshape string}} in \texttt{IsStringRep}. } + + } + + } + + \def\indexname{Index\logpage{[ "Ind", 0, 0 ]} +\hyperdef{L}{X83A0356F839C696F}{} +} + +\cleardoublepage +\phantomsection +\addcontentsline{toc}{chapter}{Index} + + +\printindex + +\immediate\write\pagenrlog{["Ind", 0, 0], \arabic{page},} +\newpage +\immediate\write\pagenrlog{["End"], \arabic{page}];} +\immediate\closeout\pagenrlog +\end{document} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crypting-0.10.6/doc/_main.xml new/crypting-0.10.7/doc/_main.xml --- old/crypting-0.10.6/doc/_main.xml 1970-01-01 01:00:00.000000000 +0100 +++ new/crypting-0.10.7/doc/_main.xml 2026-08-18 02:00:00.000000000 +0200 @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- This is an automatically generated file. --> +<!DOCTYPE Book SYSTEM "gapdoc.dtd" +[ + <#Include SYSTEM "_entities.xml"> +] +> +<Book Name="crypting"> +<#Include SYSTEM "title.xml"> +<TableOfContents/> +<Body> +<#Include SYSTEM "_AutoDocMainFile.xml"> +</Body> +<TheIndex/> +</Book> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crypting-0.10.6/doc/chap0.html new/crypting-0.10.7/doc/chap0.html --- old/crypting-0.10.6/doc/chap0.html 2025-06-20 13:14:44.000000000 +0200 +++ new/crypting-0.10.7/doc/chap0.html 2026-08-18 02:00:00.000000000 +0200 @@ -29,10 +29,10 @@ <h2>Hashes and Crypto in <strong class="pkg">GAP</strong></h2> <p> - 0.10.6</p> + 0.10.7</p> <p> - 20 June 2025 + 18 August 2026 </p> </div> @@ -40,7 +40,6 @@ Markus Pfeiffer - </b> <br />Email: <span class="URL"><a href="mailto:[email protected]">[email protected]</a></span> <br />Homepage: <span class="URL"><a href="http://www.morphism.de/~markusp/">http://www.morphism.de/~markusp/</a></span> @@ -55,11 +54,8 @@ <div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap1.html#X7A99D08C7A17A5D9">1.1 <span class="Heading">Internal Types and Functions</span></a> </span> <div class="ContSSBlock"> -<span class="ContSS"><br /><span class="nocss"> </span><a href="chap1.html#X7A0448718291EC19">1.1-1 IsSHA256State</a></span> -<span class="ContSS"><br /><span class="nocss"> </span><a href="chap1.html#X78AD7FCC843F1A9E">1.1-2 CRYPTING_SHA256_State_Family</a></span> -<span class="ContSS"><br /><span class="nocss"> </span><a href="chap1.html#X796DF073854FECD9">1.1-3 CRYPTING_SHA256_State_Type</a></span> -<span class="ContSS"><br /><span class="nocss"> </span><a href="chap1.html#X7E91B15380C025EC">1.1-4 CRYPTING_HexStringIntPad</a></span> -<span class="ContSS"><br /><span class="nocss"> </span><a href="chap1.html#X790560687943E483">1.1-5 CRYPTING_HexStringIntPad8</a></span> +<span class="ContSS"><br /><span class="nocss"> </span><a href="chap1.html#X7E047C2683ED4793">1.1-1 IsCryptingSHA256State</a></span> +<span class="ContSS"><br /><span class="nocss"> </span><a href="chap1.html#X790560687943E483">1.1-2 CRYPTING_HexStringIntPad8</a></span> </div></div> <div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap1.html#X7AE36B967EB1382B">1.2 <span class="Heading">Hash functions</span></a> </span> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crypting-0.10.6/doc/chap0.txt new/crypting-0.10.7/doc/chap0.txt --- old/crypting-0.10.6/doc/chap0.txt 2025-06-20 13:14:41.000000000 +0200 +++ new/crypting-0.10.7/doc/chap0.txt 2026-08-18 02:00:00.000000000 +0200 @@ -6,10 +6,10 @@ [1X Hashes and Crypto in [5XGAP[105X [101X - 0.10.6 + 0.10.7 - 20 June 2025 + 18 August 2026 Markus Pfeiffer @@ -27,11 +27,8 @@ 1 [33X[0;0YCryptinG Functions[133X 1.1 [33X[0;0YInternal Types and Functions[133X - 1.1-1 IsSHA256State - 1.1-2 CRYPTING_SHA256_State_Family - 1.1-3 CRYPTING_SHA256_State_Type - 1.1-4 CRYPTING_HexStringIntPad - 1.1-5 CRYPTING_HexStringIntPad8 + 1.1-1 IsCryptingSHA256State + 1.1-2 CRYPTING_HexStringIntPad8 1.2 [33X[0;0YHash functions[133X 1.2-1 SHA256String 1.3 [33X[0;0YHMAC[133X diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crypting-0.10.6/doc/chap0_mj.html new/crypting-0.10.7/doc/chap0_mj.html --- old/crypting-0.10.6/doc/chap0_mj.html 2025-06-20 13:14:44.000000000 +0200 +++ new/crypting-0.10.7/doc/chap0_mj.html 2026-08-18 02:00:00.000000000 +0200 @@ -32,10 +32,10 @@ <h2>Hashes and Crypto in <strong class="pkg">GAP</strong></h2> <p> - 0.10.6</p> + 0.10.7</p> <p> - 20 June 2025 + 18 August 2026 </p> </div> @@ -43,7 +43,6 @@ Markus Pfeiffer - </b> <br />Email: <span class="URL"><a href="mailto:[email protected]">[email protected]</a></span> <br />Homepage: <span class="URL"><a href="http://www.morphism.de/~markusp/">http://www.morphism.de/~markusp/</a></span> @@ -58,11 +57,8 @@ <div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap1_mj.html#X7A99D08C7A17A5D9">1.1 <span class="Heading">Internal Types and Functions</span></a> </span> <div class="ContSSBlock"> -<span class="ContSS"><br /><span class="nocss"> </span><a href="chap1_mj.html#X7A0448718291EC19">1.1-1 IsSHA256State</a></span> -<span class="ContSS"><br /><span class="nocss"> </span><a href="chap1_mj.html#X78AD7FCC843F1A9E">1.1-2 CRYPTING_SHA256_State_Family</a></span> -<span class="ContSS"><br /><span class="nocss"> </span><a href="chap1_mj.html#X796DF073854FECD9">1.1-3 CRYPTING_SHA256_State_Type</a></span> -<span class="ContSS"><br /><span class="nocss"> </span><a href="chap1_mj.html#X7E91B15380C025EC">1.1-4 CRYPTING_HexStringIntPad</a></span> -<span class="ContSS"><br /><span class="nocss"> </span><a href="chap1_mj.html#X790560687943E483">1.1-5 CRYPTING_HexStringIntPad8</a></span> +<span class="ContSS"><br /><span class="nocss"> </span><a href="chap1_mj.html#X7E047C2683ED4793">1.1-1 IsCryptingSHA256State</a></span> +<span class="ContSS"><br /><span class="nocss"> </span><a href="chap1_mj.html#X790560687943E483">1.1-2 CRYPTING_HexStringIntPad8</a></span> </div></div> <div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap1_mj.html#X7AE36B967EB1382B">1.2 <span class="Heading">Hash functions</span></a> </span> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crypting-0.10.6/doc/chap1.html new/crypting-0.10.7/doc/chap1.html --- old/crypting-0.10.6/doc/chap1.html 2025-06-20 13:14:44.000000000 +0200 +++ new/crypting-0.10.7/doc/chap1.html 2026-08-18 02:00:00.000000000 +0200 @@ -25,11 +25,8 @@ <div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap1.html#X7A99D08C7A17A5D9">1.1 <span class="Heading">Internal Types and Functions</span></a> </span> <div class="ContSSBlock"> -<span class="ContSS"><br /><span class="nocss"> </span><a href="chap1.html#X7A0448718291EC19">1.1-1 IsSHA256State</a></span> -<span class="ContSS"><br /><span class="nocss"> </span><a href="chap1.html#X78AD7FCC843F1A9E">1.1-2 CRYPTING_SHA256_State_Family</a></span> -<span class="ContSS"><br /><span class="nocss"> </span><a href="chap1.html#X796DF073854FECD9">1.1-3 CRYPTING_SHA256_State_Type</a></span> -<span class="ContSS"><br /><span class="nocss"> </span><a href="chap1.html#X7E91B15380C025EC">1.1-4 CRYPTING_HexStringIntPad</a></span> -<span class="ContSS"><br /><span class="nocss"> </span><a href="chap1.html#X790560687943E483">1.1-5 CRYPTING_HexStringIntPad8</a></span> +<span class="ContSS"><br /><span class="nocss"> </span><a href="chap1.html#X7E047C2683ED4793">1.1-1 IsCryptingSHA256State</a></span> +<span class="ContSS"><br /><span class="nocss"> </span><a href="chap1.html#X790560687943E483">1.1-2 CRYPTING_HexStringIntPad8</a></span> </div></div> <div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap1.html#X7AE36B967EB1382B">1.2 <span class="Heading">Hash functions</span></a> </span> @@ -49,36 +46,19 @@ <h4>1.1 <span class="Heading">Internal Types and Functions</span></h4> -<p><a id="X7A0448718291EC19" name="X7A0448718291EC19"></a></p> +<p><a id="X7E047C2683ED4793" name="X7E047C2683ED4793"></a></p> -<h5>1.1-1 IsSHA256State</h5> +<h5>1.1-1 IsCryptingSHA256State</h5> -<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsSHA256State</code>( <var class="Arg">arg</var> )</td><td class="tdright">( filter )</td></tr></table></div> +<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsCryptingSHA256State</code>( <var class="Arg">arg</var> )</td><td class="tdright">( category )</td></tr></table></div> <p>Returns: <code class="keyw">true</code> or <code class="keyw">false</code></p> -<p><a id="X78AD7FCC843F1A9E" name="X78AD7FCC843F1A9E"></a></p> - -<h5>1.1-2 CRYPTING_SHA256_State_Family</h5> - -<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ CRYPTING_SHA256_State_Family</code></td><td class="tdright">( global variable )</td></tr></table></div> -<p><a id="X796DF073854FECD9" name="X796DF073854FECD9"></a></p> - -<h5>1.1-3 CRYPTING_SHA256_State_Type</h5> - -<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ CRYPTING_SHA256_State_Type</code></td><td class="tdright">( global variable )</td></tr></table></div> -<p><a id="X7E91B15380C025EC" name="X7E91B15380C025EC"></a></p> - -<h5>1.1-4 CRYPTING_HexStringIntPad</h5> - -<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ CRYPTING_HexStringIntPad</code>( <var class="Arg">int</var>, <var class="Arg">pad</var>, <var class="Arg">length</var> )</td><td class="tdright">( function )</td></tr></table></div> -<p>Call <a href="../../../doc/ref/chap27_mj.html#X865FBB7E788017DD"><span class="RefLink">Reference: HexStringInt</span></a> on the argument <var class="Arg">int</var> then pad the string on the left to <var class="Arg">length</var> using padding letter <var class="Arg">pad</var></p> - <p><a id="X790560687943E483" name="X790560687943E483"></a></p> -<h5>1.1-5 CRYPTING_HexStringIntPad8</h5> +<h5>1.1-2 CRYPTING_HexStringIntPad8</h5> <div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ CRYPTING_HexStringIntPad8</code>( <var class="Arg">int</var> )</td><td class="tdright">( function )</td></tr></table></div> -<p>Call <a href="../../../doc/ref/chap27_mj.html#X865FBB7E788017DD"><span class="RefLink">Reference: HexStringInt</span></a> on the argument <var class="Arg">int</var> then pad the string on the left to length 8 using padding letter 0.</p> +<p>Call <a href="../../../doc/ref/chap27.html#X865FBB7E788017DD"><span class="RefLink">Reference: HexStringInt</span></a> on the argument <var class="Arg">int</var> then pad the string on the left to length 8 using padding letter 0.</p> <p><a id="X7AE36B967EB1382B" name="X7AE36B967EB1382B"></a></p> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crypting-0.10.6/doc/chap1.txt new/crypting-0.10.7/doc/chap1.txt --- old/crypting-0.10.6/doc/chap1.txt 2025-06-20 13:14:41.000000000 +0200 +++ new/crypting-0.10.7/doc/chap1.txt 2026-08-18 02:00:00.000000000 +0200 @@ -4,27 +4,12 @@ [1X1.1 [33X[0;0YInternal Types and Functions[133X[101X - [1X1.1-1 IsSHA256State[101X + [1X1.1-1 IsCryptingSHA256State[101X - [33X[1;0Y[29X[2XIsSHA256State[102X( [3Xarg[103X ) [32X filter[133X + [33X[1;0Y[29X[2XIsCryptingSHA256State[102X( [3Xarg[103X ) [32X Category[133X [6XReturns:[106X [33X[0;10Y[9Xtrue[109X or [9Xfalse[109X[133X - [1X1.1-2 CRYPTING_SHA256_State_Family[101X - - [33X[1;0Y[29X[2XCRYPTING_SHA256_State_Family[102X [32X global variable[133X - - [1X1.1-3 CRYPTING_SHA256_State_Type[101X - - [33X[1;0Y[29X[2XCRYPTING_SHA256_State_Type[102X [32X global variable[133X - - [1X1.1-4 CRYPTING_HexStringIntPad[101X - - [33X[1;0Y[29X[2XCRYPTING_HexStringIntPad[102X( [3Xint[103X, [3Xpad[103X, [3Xlength[103X ) [32X function[133X - - [33X[0;0YCall [14XReference: HexStringInt[114X on the argument [3Xint[103X then pad the string on the - left to [3Xlength[103X using padding letter [3Xpad[103X[133X - - [1X1.1-5 CRYPTING_HexStringIntPad8[101X + [1X1.1-2 CRYPTING_HexStringIntPad8[101X [33X[1;0Y[29X[2XCRYPTING_HexStringIntPad8[102X( [3Xint[103X ) [32X function[133X diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crypting-0.10.6/doc/chap1_mj.html new/crypting-0.10.7/doc/chap1_mj.html --- old/crypting-0.10.6/doc/chap1_mj.html 2025-06-20 13:14:44.000000000 +0200 +++ new/crypting-0.10.7/doc/chap1_mj.html 2026-08-18 02:00:00.000000000 +0200 @@ -28,11 +28,8 @@ <div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap1_mj.html#X7A99D08C7A17A5D9">1.1 <span class="Heading">Internal Types and Functions</span></a> </span> <div class="ContSSBlock"> -<span class="ContSS"><br /><span class="nocss"> </span><a href="chap1_mj.html#X7A0448718291EC19">1.1-1 IsSHA256State</a></span> -<span class="ContSS"><br /><span class="nocss"> </span><a href="chap1_mj.html#X78AD7FCC843F1A9E">1.1-2 CRYPTING_SHA256_State_Family</a></span> -<span class="ContSS"><br /><span class="nocss"> </span><a href="chap1_mj.html#X796DF073854FECD9">1.1-3 CRYPTING_SHA256_State_Type</a></span> -<span class="ContSS"><br /><span class="nocss"> </span><a href="chap1_mj.html#X7E91B15380C025EC">1.1-4 CRYPTING_HexStringIntPad</a></span> -<span class="ContSS"><br /><span class="nocss"> </span><a href="chap1_mj.html#X790560687943E483">1.1-5 CRYPTING_HexStringIntPad8</a></span> +<span class="ContSS"><br /><span class="nocss"> </span><a href="chap1_mj.html#X7E047C2683ED4793">1.1-1 IsCryptingSHA256State</a></span> +<span class="ContSS"><br /><span class="nocss"> </span><a href="chap1_mj.html#X790560687943E483">1.1-2 CRYPTING_HexStringIntPad8</a></span> </div></div> <div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap1_mj.html#X7AE36B967EB1382B">1.2 <span class="Heading">Hash functions</span></a> </span> @@ -52,33 +49,16 @@ <h4>1.1 <span class="Heading">Internal Types and Functions</span></h4> -<p><a id="X7A0448718291EC19" name="X7A0448718291EC19"></a></p> +<p><a id="X7E047C2683ED4793" name="X7E047C2683ED4793"></a></p> -<h5>1.1-1 IsSHA256State</h5> +<h5>1.1-1 IsCryptingSHA256State</h5> -<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsSHA256State</code>( <var class="Arg">arg</var> )</td><td class="tdright">( filter )</td></tr></table></div> +<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsCryptingSHA256State</code>( <var class="Arg">arg</var> )</td><td class="tdright">( category )</td></tr></table></div> <p>Returns: <code class="keyw">true</code> or <code class="keyw">false</code></p> -<p><a id="X78AD7FCC843F1A9E" name="X78AD7FCC843F1A9E"></a></p> - -<h5>1.1-2 CRYPTING_SHA256_State_Family</h5> - -<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ CRYPTING_SHA256_State_Family</code></td><td class="tdright">( global variable )</td></tr></table></div> -<p><a id="X796DF073854FECD9" name="X796DF073854FECD9"></a></p> - -<h5>1.1-3 CRYPTING_SHA256_State_Type</h5> - -<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ CRYPTING_SHA256_State_Type</code></td><td class="tdright">( global variable )</td></tr></table></div> -<p><a id="X7E91B15380C025EC" name="X7E91B15380C025EC"></a></p> - -<h5>1.1-4 CRYPTING_HexStringIntPad</h5> - -<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ CRYPTING_HexStringIntPad</code>( <var class="Arg">int</var>, <var class="Arg">pad</var>, <var class="Arg">length</var> )</td><td class="tdright">( function )</td></tr></table></div> -<p>Call <a href="../../../doc/ref/chap27_mj.html#X865FBB7E788017DD"><span class="RefLink">Reference: HexStringInt</span></a> on the argument <var class="Arg">int</var> then pad the string on the left to <var class="Arg">length</var> using padding letter <var class="Arg">pad</var></p> - <p><a id="X790560687943E483" name="X790560687943E483"></a></p> -<h5>1.1-5 CRYPTING_HexStringIntPad8</h5> +<h5>1.1-2 CRYPTING_HexStringIntPad8</h5> <div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ CRYPTING_HexStringIntPad8</code>( <var class="Arg">int</var> )</td><td class="tdright">( function )</td></tr></table></div> <p>Call <a href="../../../doc/ref/chap27_mj.html#X865FBB7E788017DD"><span class="RefLink">Reference: HexStringInt</span></a> on the argument <var class="Arg">int</var> then pad the string on the left to length 8 using padding letter 0.</p> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crypting-0.10.6/doc/chapInd.html new/crypting-0.10.7/doc/chapInd.html --- old/crypting-0.10.6/doc/chapInd.html 2025-06-20 13:14:44.000000000 +0200 +++ new/crypting-0.10.7/doc/chapInd.html 2026-08-18 02:00:00.000000000 +0200 @@ -25,12 +25,9 @@ <div class="index"> <h3>Index</h3> -<code class="func">CRYPTING_HexStringIntPad</code> <a href="chap1.html#X7E91B15380C025EC">1.1-4</a> <br /> -<code class="func">CRYPTING_HexStringIntPad8</code> <a href="chap1.html#X790560687943E483">1.1-5</a> <br /> -<code class="func">CRYPTING_SHA256_State_Family</code> <a href="chap1.html#X78AD7FCC843F1A9E">1.1-2</a> <br /> -<code class="func">CRYPTING_SHA256_State_Type</code> <a href="chap1.html#X796DF073854FECD9">1.1-3</a> <br /> +<code class="func">CRYPTING_HexStringIntPad8</code> <a href="chap1.html#X790560687943E483">1.1-2</a> <br /> <code class="func">HMACSHA256</code> <a href="chap1.html#X831194C88571B5B1">1.3-1</a> <br /> -<code class="func">IsSHA256State</code>, for IsObject <a href="chap1.html#X7A0448718291EC19">1.1-1</a> <br /> +<code class="func">IsCryptingSHA256State</code>, for IsObject <a href="chap1.html#X7E047C2683ED4793">1.1-1</a> <br /> <code class="func">SHA256String</code> <a href="chap1.html#X7FFA0D5C7C5CB820">1.2-1</a> <br /> <p> </p> </div> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crypting-0.10.6/doc/chapInd.txt new/crypting-0.10.7/doc/chapInd.txt --- old/crypting-0.10.6/doc/chapInd.txt 2025-06-20 13:14:41.000000000 +0200 +++ new/crypting-0.10.7/doc/chapInd.txt 2026-08-18 02:00:00.000000000 +0200 @@ -2,12 +2,9 @@ [1XIndex[101X - [2XCRYPTING_HexStringIntPad[102X 1.1-4 - [2XCRYPTING_HexStringIntPad8[102X 1.1-5 - [2XCRYPTING_SHA256_State_Family[102X 1.1-2 - [2XCRYPTING_SHA256_State_Type[102X 1.1-3 + [2XCRYPTING_HexStringIntPad8[102X 1.1-2 [2XHMACSHA256[102X 1.3-1 - [2XIsSHA256State[102X, for IsObject 1.1-1 + [2XIsCryptingSHA256State[102X, for IsObject 1.1-1 [2XSHA256String[102X 1.2-1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crypting-0.10.6/doc/chapInd_mj.html new/crypting-0.10.7/doc/chapInd_mj.html --- old/crypting-0.10.6/doc/chapInd_mj.html 2025-06-20 13:14:44.000000000 +0200 +++ new/crypting-0.10.7/doc/chapInd_mj.html 2026-08-18 02:00:00.000000000 +0200 @@ -28,12 +28,9 @@ <div class="index"> <h3>Index</h3> -<code class="func">CRYPTING_HexStringIntPad</code> <a href="chap1_mj.html#X7E91B15380C025EC">1.1-4</a> <br /> -<code class="func">CRYPTING_HexStringIntPad8</code> <a href="chap1_mj.html#X790560687943E483">1.1-5</a> <br /> -<code class="func">CRYPTING_SHA256_State_Family</code> <a href="chap1_mj.html#X78AD7FCC843F1A9E">1.1-2</a> <br /> -<code class="func">CRYPTING_SHA256_State_Type</code> <a href="chap1_mj.html#X796DF073854FECD9">1.1-3</a> <br /> +<code class="func">CRYPTING_HexStringIntPad8</code> <a href="chap1_mj.html#X790560687943E483">1.1-2</a> <br /> <code class="func">HMACSHA256</code> <a href="chap1_mj.html#X831194C88571B5B1">1.3-1</a> <br /> -<code class="func">IsSHA256State</code>, for IsObject <a href="chap1_mj.html#X7A0448718291EC19">1.1-1</a> <br /> +<code class="func">IsCryptingSHA256State</code>, for IsObject <a href="chap1_mj.html#X7E047C2683ED4793">1.1-1</a> <br /> <code class="func">SHA256String</code> <a href="chap1_mj.html#X7FFA0D5C7C5CB820">1.2-1</a> <br /> <p> </p> </div> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crypting-0.10.6/doc/chooser.html new/crypting-0.10.7/doc/chooser.html --- old/crypting-0.10.6/doc/chooser.html 2025-06-20 13:14:44.000000000 +0200 +++ new/crypting-0.10.7/doc/chooser.html 2026-08-18 02:00:00.000000000 +0200 @@ -23,9 +23,18 @@ return ""; } +<!-- load dark appearance either explicitly or via the OS preference --> +function writeAppearanceStyle(mode) { + if (mode == "dark") { + document.writeln('<link rel="stylesheet" type="text/css" href="dark.css" />'); + } else if (mode != "light") { + document.writeln('<style type="text/css">@import "dark.css" (prefers-color-scheme: dark);</style>'); + } +} + <!-- find style from current values in form --> function getstyle() { - var choices = ["toggle","colorprompt","tocside","font","justify"]; + var choices = ["toggle","colorprompt","tocside","font","justify","appearance"]; var style = ""; for (var i=0; choices.length > i; i++) { var a = currval(choices[i]); @@ -55,17 +64,23 @@ <!-- initialize form from GAPDocStyle cookie --> function initform() { var style = valueString(document.cookie, "GAPDocStyle"); + if (style == 0 || style == "default") + writeAppearanceStyle(""); if (style != 0 && style.length > 0 && style.length != "default") { stlist = style.split(","); var chform = document.forms[0].elements; + var appearance = ""; for (var i=0; chform.length > i; i++) { if (chform[i].type == "radio") { for (var j=0; stlist.length > j; j++) { - if (chform[i].value == stlist[j]) + if (stlist[j] == "dark" || stlist[j] == "light") + appearance = stlist[j]; + if (chform[i].value == stlist[j]) chform[i].checked = true; } } } + writeAppearanceStyle(appearance); } } @@ -119,6 +134,15 @@ <input type="radio" name="justify" value="ragged" onclick="javascript:f()"/> ragged right </p> +<p> +Appearance: +<input type="radio" name="appearance" value="" +onclick="javascript:f()"/> system (default) +<input type="radio" name="appearance" value="light" checked="checked" +onclick="javascript:f()"/> light +<input type="radio" name="appearance" value="dark" +onclick="javascript:f()"/> dark +</p> </form> <p> <a name="backLINK" href=""><strong>Apply settings to last page.</strong></a> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crypting-0.10.6/doc/crypting.xml new/crypting-0.10.7/doc/crypting.xml --- old/crypting-0.10.6/doc/crypting.xml 2025-06-20 13:14:41.000000000 +0200 +++ new/crypting-0.10.7/doc/crypting.xml 1970-01-01 01:00:00.000000000 +0100 @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> - -<!-- This is an automatically generated file. --> -<!DOCTYPE Book SYSTEM "gapdoc.dtd" -[ - [<#Include SYSTEM "_entities.xml"> -] -> -<Book Name="crypting"> -<#Include SYSTEM "title.xml"> -<TableOfContents/> -<Body> -<#Include SYSTEM "_AutoDocMainFile.xml"> -</Body> -<TheIndex/> -</Book> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crypting-0.10.6/doc/dark.css new/crypting-0.10.7/doc/dark.css --- old/crypting-0.10.6/doc/dark.css 1970-01-01 01:00:00.000000000 +0100 +++ new/crypting-0.10.7/doc/dark.css 2026-08-18 02:00:00.000000000 +0200 @@ -0,0 +1,178 @@ +/* dark.css Frank Luebeck */ +/* Initial dark theme contributed by kiryph in issue #75. */ + +/* colors */ +body { + background: #121212; + color: #eee; +} + +a:link { + color: #576cad; +} + +a:visited { + color: #576cad; +} + +a:active { + color: #eee; +} + +a:hover { + background: #eee; +} + +pre { + color: black; +} + +tt, code { + color: #eee; +} + +/* layout for the definitions of functions, variables, ... */ +div.func { + background: #909090; +} + +/* Example elements (for old converted manuals, now in div+pre */ +table.example { + background: #efefef; +} + +/* becomes ... */ +div.example { + background: #efefef; + color: black; +} + +/* Links to chapters in all files at top and bottom. */ +div.chlinktop { + background: #22272e; + border-color: #3a414a; + color: #d7dde5; +} + +div.chlinktop a:hover { + background: #2f3742; +} + +div.chlinkbot { + background: #22272e; + border-color: #3a414a; + color: #d7dde5; +} + +/* and this is for the "Top", "Prev", "Next" links */ +div.chlinkprevnexttop { + background: #22272e; + border-color: #3a414a; + color: #d7dde5; +} + +div.chlinkprevnexttop a:hover { + background: #2f3742; +} + +div.chlinkprevnextbot { + background: #22272e; + border-color: #3a414a; + color: #d7dde5; +} + +div.chlinkprevnextbot a:hover { + background: #2f3742; +} + +div.ContChap div.ContSect:hover div.ContSSBlock { + background: #eee; + border-color: #666; + color: #000; +} + +div.ContSSBlock a:hover { + background: #fff; +} + +/* and here for the side menu of contents in the chapter files */ +div.ChapSects a:hover { + background: #eee; + color: #000; +} + +div.ChapSects div.ContSect:hover div.ContSSBlock { + background: #b5b5b5; + border-color: #666; + color: #000; +} + +div.ChapSects div.ContSect:hover div.ContSSBlock a:hover { + background: #828282; +} + +/* Table elements */ +table.GAPDocTable { + border-color: black; +} + +table.GAPDocTable td, table.GAPDocTable th { + border-color: #555; +} + +table.GAPDocTablenoborder td, table.GAPDocTable th { + border-color: #555; +} + +/* Colors and fonts can be overwritten for some types of elements. */ +/* Verb elements */ +pre.normal { + color: #eee; +} + +/* Func-like elements and Ref to Func-like */ +code.func { + color: #eee; +} + +/* K elements */ +code.keyw { + color: #983d3d; +} + +/* F elements */ +code.file { + color: #8e4510; +} + +/* Arg elements */ +var.Arg { + color: #060; +} + +/* colors for ColorPrompt like examples */ +span.GAPprompt { + color: #000097; +} + +span.GAPbrkprompt { + color: #970000; +} + +span.GAPinput { + color: #970000; +} + +/* Bib entries */ +span.BibKey { + color: #052; +} + +/* for light and dark mode pictures */ +.only-on-dark { + display: block; +} + +.only-on-light { + display: none; +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crypting-0.10.6/doc/manual.css new/crypting-0.10.7/doc/manual.css --- old/crypting-0.10.6/doc/manual.css 2025-06-20 13:14:44.000000000 +0200 +++ new/crypting-0.10.7/doc/manual.css 2026-08-18 02:00:00.000000000 +0200 @@ -477,6 +477,10 @@ span.BibHowpublished { } +/* for light and dark mode pictures */ +.only-on-dark { + display: none; +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crypting-0.10.6/doc/manual.js new/crypting-0.10.7/doc/manual.js --- old/crypting-0.10.6/doc/manual.js 2025-06-20 13:14:44.000000000 +0200 +++ new/crypting-0.10.7/doc/manual.js 2026-08-18 02:00:00.000000000 +0200 @@ -47,6 +47,20 @@ return 0; } +/* load dark appearance either explicitly or via the OS preference */ +function writeAppearanceStyle(mode) { + if (mode == "dark") { + document.writeln( + '<link rel="stylesheet" type="text/css" href="dark.css" />' + ); + } else if (mode != "light") { + document.writeln( + '<style type="text/css">@import "dark.css" ' + + '(prefers-color-scheme: dark);</style>' + ); + } +} + /* when a non-default style is chosen via URL or a cookie, then the cookie is reset and the styles .js and .css files are read */ function overwriteStyle() { @@ -55,6 +69,8 @@ /* otherwise check cookie */ if (style == 0) style = valueString(document.cookie, "GAPDocStyle"); + if (style == 0 || style == "default") + writeAppearanceStyle(""); if (style == 0) return; if (style == "default") @@ -70,13 +86,19 @@ document.cookie = "GAPDocStyle="+style+";Path="+path; /* split into names of style files */ var stlist = style.split(","); + var appearance = ""; /* read style's css and js files */ for (var i=0; i < stlist.length; i++) { - document.writeln('<link rel="stylesheet" type="text/css" href="'+ - stlist[i]+'.css" />'); - document.writeln('<script src="'+stlist[i]+ - '.js" type="text/javascript"></script>'); + if (stlist[i] == "dark" || stlist[i] == "light") { + appearance = stlist[i]; + } else { + document.writeln('<link rel="stylesheet" type="text/css" href="'+ + stlist[i]+'.css" />'); + document.writeln('<script src="'+stlist[i]+ + '.js" type="text/javascript"></script>'); + } } + writeAppearanceStyle(appearance); } } @@ -110,4 +132,3 @@ for (var i=0; i < jscontentfuncs.length; i++) jscontentfuncs[i](); } - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crypting-0.10.6/doc/manual.lab new/crypting-0.10.7/doc/manual.lab --- old/crypting-0.10.6/doc/manual.lab 2025-06-20 13:14:44.000000000 +0200 +++ new/crypting-0.10.7/doc/manual.lab 2026-08-18 02:00:00.000000000 +0200 @@ -6,10 +6,7 @@ \makelabel{crypting:Hash functions}{1.2}{X7AE36B967EB1382B} \makelabel{crypting:HMAC}{1.3}{X798E9B5587D955DB} \makelabel{crypting:Index}{Ind}{X83A0356F839C696F} -\makelabel{crypting:IsSHA256State for IsObject}{1.1.1}{X7A0448718291EC19} -\makelabel{crypting:CRYPTINGSHA256StateFamily}{1.1.2}{X78AD7FCC843F1A9E} -\makelabel{crypting:CRYPTINGSHA256StateType}{1.1.3}{X796DF073854FECD9} -\makelabel{crypting:CRYPTINGHexStringIntPad}{1.1.4}{X7E91B15380C025EC} -\makelabel{crypting:CRYPTINGHexStringIntPad8}{1.1.5}{X790560687943E483} +\makelabel{crypting:IsCryptingSHA256State for IsObject}{1.1.1}{X7E047C2683ED4793} +\makelabel{crypting:CRYPTINGHexStringIntPad8}{1.1.2}{X790560687943E483} \makelabel{crypting:SHA256String}{1.2.1}{X7FFA0D5C7C5CB820} \makelabel{crypting:HMACSHA256}{1.3.1}{X831194C88571B5B1} Binary files old/crypting-0.10.6/doc/manual.pdf and new/crypting-0.10.7/doc/manual.pdf differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crypting-0.10.6/doc/manual.six new/crypting-0.10.7/doc/manual.six --- old/crypting-0.10.6/doc/manual.six 2025-06-20 13:14:44.000000000 +0200 +++ new/crypting-0.10.7/doc/manual.six 2026-08-18 02:00:00.000000000 +0200 @@ -13,22 +13,17 @@ "1.1", [ 1, 1, 0 ], 4, 3, "internal types and functions", "X7A99D08C7A17A5D9" ], [ "\033[1X\033[33X\033[0;-2YHash functions\033[133X\033[101X", "1.2", - [ 1, 2, 0 ], 34, 4, "hash functions", "X7AE36B967EB1382B" ], + [ 1, 2, 0 ], 19, 3, "hash functions", "X7AE36B967EB1382B" ], [ "\033[1X\033[33X\033[0;-2YHMAC\033[133X\033[101X", "1.3", [ 1, 3, 0 ], - 43, 4, "hmac", "X798E9B5587D955DB" ], - [ "Index", "ind", [ "Ind", 0, 0 ], 1, 5, "index", "X83A0356F839C696F" ], - [ "\033[2XIsSHA256State\033[102X for IsObject", "1.1-1", [ 1, 1, 1 ], 7, 3, - "issha256state for isobject", "X7A0448718291EC19" ], - [ "\033[2XCRYPTING_SHA256_State_Family\033[102X", "1.1-2", [ 1, 1, 2 ], 12, - 3, "crypting_sha256_state_family", "X78AD7FCC843F1A9E" ], - [ "\033[2XCRYPTING_SHA256_State_Type\033[102X", "1.1-3", [ 1, 1, 3 ], 16, - 3, "crypting_sha256_state_type", "X796DF073854FECD9" ], - [ "\033[2XCRYPTING_HexStringIntPad\033[102X", "1.1-4", [ 1, 1, 4 ], 20, 3, - "crypting_hexstringintpad", "X7E91B15380C025EC" ], - [ "\033[2XCRYPTING_HexStringIntPad8\033[102X", "1.1-5", [ 1, 1, 5 ], 27, 3, + 28, 3, "hmac", "X798E9B5587D955DB" ], + [ "Index", "ind", [ "Ind", 0, 0 ], 1, 4, "index", "X83A0356F839C696F" ], + [ "\033[2XIsCryptingSHA256State\033[102X for IsObject", "1.1-1", + [ 1, 1, 1 ], 7, 3, "iscryptingsha256state for isobject", + "X7E047C2683ED4793" ], + [ "\033[2XCRYPTING_HexStringIntPad8\033[102X", "1.1-2", [ 1, 1, 2 ], 12, 3, "crypting_hexstringintpad8", "X790560687943E483" ], - [ "\033[2XSHA256String\033[102X", "1.2-1", [ 1, 2, 1 ], 37, 4, + [ "\033[2XSHA256String\033[102X", "1.2-1", [ 1, 2, 1 ], 22, 3, "sha256string", "X7FFA0D5C7C5CB820" ], - [ "\033[2XHMACSHA256\033[102X", "1.3-1", [ 1, 3, 1 ], 46, 4, "hmacsha256", + [ "\033[2XHMACSHA256\033[102X", "1.3-1", [ 1, 3, 1 ], 31, 3, "hmacsha256", "X831194C88571B5B1" ] ] ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crypting-0.10.6/doc/title.xml new/crypting-0.10.7/doc/title.xml --- old/crypting-0.10.6/doc/title.xml 2025-06-20 13:14:41.000000000 +0200 +++ new/crypting-0.10.7/doc/title.xml 2026-08-18 02:00:00.000000000 +0200 @@ -9,15 +9,14 @@ Hashes and Crypto in &GAP; </Subtitle> <Version> - 0.10.6 + 0.10.7 </Version> <Author> - Markus Pfeiffer<Alt Only="LaTeX"><Br/></Alt> + Markus Pfeiffer <Email>[email protected]</Email> <Homepage>http://www.morphism.de/~markusp/</Homepage> - </Author> <Date> - 20 June 2025 + 18 August 2026 </Date> </TitlePage> \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crypting-0.10.6/gap/crypting.gd new/crypting-0.10.7/gap/crypting.gd --- old/crypting-0.10.6/gap/crypting.gd 2025-06-20 13:14:31.000000000 +0200 +++ new/crypting-0.10.7/gap/crypting.gd 2026-08-18 02:00:00.000000000 +0200 @@ -11,19 +11,12 @@ # #! -DeclareCategory("IsSHA256State", IsObject); +DeclareCategory("IsCryptingSHA256State", IsObject); # DeclareGlobalVariable("CRYPTING_SHA256_State_Family"); # DeclareGlobalVariable("CRYPTING_SHA256_State_Type", "State of SHA256"); #! @Description #! Call <Ref Label="HexStringInt" BookName="ref"/> on the argument <A>int</A> -#! then pad the string on the left to <A>length</A> using padding -#! letter <A>pad</A> -#! @Arguments int, pad, length -DeclareGlobalFunction("CRYPTING_HexStringIntPad"); - -#! @Description -#! Call <Ref Label="HexStringInt" BookName="ref"/> on the argument <A>int</A> #! then pad the string on the left to length 8 using padding #! letter 0. #! @Arguments int diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crypting-0.10.6/gap/crypting.gi new/crypting-0.10.7/gap/crypting.gi --- old/crypting-0.10.6/gap/crypting.gi 2025-06-20 13:14:31.000000000 +0200 +++ new/crypting-0.10.7/gap/crypting.gi 2026-08-18 02:00:00.000000000 +0200 @@ -10,25 +10,22 @@ BindGlobal("CRYPTING_SHA256_State_Type", NewType(CRYPTING_SHA256_State_Family, - IsSHA256State) ); + IsCryptingSHA256State) ); -InstallGlobalFunction( CRYPTING_HexStringIntPad, -function(i, len, pad) +InstallGlobalFunction( CRYPTING_HexStringIntPad8, +function(i) local result; result := HexStringInt(i); - if Length(result) < len then - result := Concatenation(RepeatedString(pad,len - Length(result)), result); + if Length(result) < 8 then + result := Concatenation(ListWithIdenticalEntries(8 - Length(result), '0'), result); fi; return result; end); -InstallGlobalFunction( CRYPTING_HexStringIntPad8, - i -> CRYPTING_HexStringIntPad(i, 8, '0')); - InstallMethod( ViewString, "for a SHA256 state", - [ IsSHA256State ], x -> "<sha256 state>"); + [ IsCryptingSHA256State ], x -> "<sha256 state>"); InstallGlobalFunction( SHA256String, function(str) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crypting-0.10.6/tst/hmacsha256.tst new/crypting-0.10.7/tst/hmacsha256.tst --- old/crypting-0.10.6/tst/hmacsha256.tst 2025-06-20 13:14:31.000000000 +0200 +++ new/crypting-0.10.7/tst/hmacsha256.tst 2026-08-18 02:00:00.000000000 +0200 @@ -2,7 +2,7 @@ "B613679A0814D9EC772F95D778C35FC5FF1697C493715653C6C712144292C5AD" gap> Concatenation(List(CRYPTING_SHA256_HMAC("key", "The quick brown fox jumps over the lazy dog"), CRYPTING_HexStringIntPad8)); "F7BC83F430538424B13298E6AA6FB143EF4D59A14946175997479DBC2D1A3CD8" -gap> str := RepeatedString("The quick brown fox jumps over the lazy dog.\n", 5000);; +gap> str := Concatenation(ListWithIdenticalEntries(112, "The quick brown fox jumps over the lazy dog.\n")){[1..5000]};; gap> Concatenation(List(CRYPTING_SHA256_HMAC("key", str), CRYPTING_HexStringIntPad8)); "9319843BE4B7BBD7928B3DD7080B37E4CD46F9DC244812E3DD6783CF56C25AEE" gap> Concatenation(List(CRYPTING_SHA256_HMAC(str, str), CRYPTING_HexStringIntPad8)); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crypting-0.10.6/tst/sha256.tst new/crypting-0.10.7/tst/sha256.tst --- old/crypting-0.10.6/tst/sha256.tst 2025-06-20 13:14:31.000000000 +0200 +++ new/crypting-0.10.7/tst/sha256.tst 2026-08-18 02:00:00.000000000 +0200 @@ -2,7 +2,7 @@ "BA7816BF8F01CFEA414140DE5DAE2223B00361A396177A9CB410FF61F20015AD" gap> Concatenation(List(SHA256String("abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"), CRYPTING_HexStringIntPad8)); "248D6A61D20638B8E5C026930C3E6039A33CE45964FF2167F6ECEDD419DB06C1" -gap> str := RepeatedString("The quick brown fox jumps over the lazy dog.\n", 5000);; +gap> str := Concatenation(ListWithIdenticalEntries(112, "The quick brown fox jumps over the lazy dog.\n")){[1..5000]};; gap> Concatenation(List(SHA256String(str), CRYPTING_HexStringIntPad8)); "4BAFDB160ACD4142C07293E6955A4CE4B449D27C9A35FA56481BED84F9F2493E" gap> SHA256String([(1,2)]);
