Skip to content
Snippets Groups Projects
Select Git revision
  • c1dce68fa4f143fe45d4aa226a32776b95710bcf
  • master default protected
  • 9.0
  • 8.0
  • 7.8
  • 7.6
  • 7.4
  • 7.2
  • 7.0
  • 0.6
  • rosuav/latex-markdown-renderer
  • rxnpatch/rxnpatch
  • marcus/gobject-introspection
  • rxnpatch/8.0
  • rosuav/pre-listening-ports
  • nt-tools
  • rosuav/async-annotations
  • rosuav/pgsql-ssl
  • rxnpatch/rxnpatch-broken/2023-10-06T094250
  • grubba/fdlib
  • grubba/wip/sakura/8.0
  • v8.0.2000
  • v8.0.1998
  • v8.0.1996
  • v8.0.1994
  • v8.0.1992
  • v8.0.1990
  • v8.0.1988
  • v8.0.1986
  • rxnpatch/clusters/8.0/2025-04-29T124414
  • rxnpatch/2025-04-29T124414
  • v8.0.1984
  • v8.0.1982
  • v8.0.1980
  • v8.0.1978
  • v8.0.1976
  • v8.0.1974
  • v8.0.1972
  • v8.0.1970
  • v8.0.1968
  • v8.0.1966
41 results

_Image_XPM.pmod

Blame
    • Martin Nilsson's avatar
      ead9722f
      strlen -> sizeof · ead9722f
      Martin Nilsson authored
      Rev: bin/fake_dynamic_load.pike:1.6
      Rev: bin/httpd.pike:1.5
      Rev: bin/install.pike:1.109
      Rev: bin/mkpeep.pike:1.30
      Rev: bin/tarfilter.pike:1.4
      Rev: bin/test_pike.pike:1.80
      Rev: bin/unbug:1.10
      Rev: lib/modules/ADT.pmod/struct.pike:1.11
      Rev: lib/modules/Audio.pmod/Format.pmod/module.pmod:1.6
      Rev: lib/modules/Calendar.pmod/Events.pmod:1.13
      Rev: lib/modules/Calendar.pmod/Time.pmod:1.22
      Rev: lib/modules/Calendar.pmod/Timezone.pmod:1.27
      Rev: lib/modules/Calendar.pmod/YMD.pmod:1.48
      Rev: lib/modules/Calendar.pmod/mkrules.pike:1.7
      Rev: lib/modules/Colors.pmod:1.13
      Rev: lib/modules/Crypto/_rsa.pike:1.7
      Rev: lib/modules/Crypto/des3.pike:1.8
      Rev: lib/modules/Crypto/dsa.pike:1.12
      Rev: lib/modules/Crypto/hmac.pike:1.9
      Rev: lib/modules/Crypto/randomness.pmod:1.24
      Rev: lib/modules/Crypto/rsa.pike:1.32
      Rev: lib/modules/Filesystem.pmod/System.pike:1.14
      Rev: lib/modules/Filesystem.pmod/Tar.pmod:1.19
      Rev: lib/modules/GTKSupport.pmod/MenuFactory.pmod:1.8
      Rev: lib/modules/Getopt.pmod:1.26
      Rev: lib/modules/Languages.pmod/PLIS.pmod:1.15
      Rev: lib/modules/Locale.pmod/module.pmod:1.16
      Rev: lib/modules/MIME.pmod/module.pmod:1.6
      Rev: lib/modules/Parser.pmod/C.pmod:1.38
      Rev: lib/modules/Parser.pmod/XML.pmod/DOM.pmod:1.10
      Rev: lib/modules/Parser.pmod/XML.pmod/NSTree.pmod:1.7
      Rev: lib/modules/Parser.pmod/XML.pmod/Tree.pmod:1.25
      Rev: lib/modules/Process.pmod:1.38
      Rev: lib/modules/Protocols.pmod/DNS.pmod:1.71
      Rev: lib/modules/Protocols.pmod/HTTP.pmod/Query.pike:1.48
      Rev: lib/modules/Protocols.pmod/HTTP.pmod/Server.pmod/Request.pike:1.15
      Rev: lib/modules/Protocols.pmod/IMAP.pmod/parse_line.pike:1.26
      Rev: lib/modules/Protocols.pmod/IMAP.pmod/server.pike:1.15
      Rev: lib/modules/Protocols.pmod/IMAP.pmod/types.pmod:1.28
      Rev: lib/modules/Protocols.pmod/IRC.pmod/Error.pmod:1.4
      Rev: lib/modules/Protocols.pmod/IRC.pmod/Raw.pike:1.7
      Rev: lib/modules/Protocols.pmod/Ident.pmod:1.10
      Rev: lib/modules/Protocols.pmod/LDAP.pmod/protocol.pike:1.9
      Rev: lib/modules/Protocols.pmod/Line.pmod:1.21
      Rev: lib/modules/Protocols.pmod/LysKOM.pmod/Helper.pmod:1.7
      Rev: lib/modules/Protocols.pmod/LysKOM.pmod/Raw.pike:1.14
      Rev: lib/modules/Protocols.pmod/NNTP.pmod:1.11
      Rev: lib/modules/Protocols.pmod/TELNET.pmod:1.19
      Rev: lib/modules/Protocols.pmod/X.pmod/KeySyms.pmod:1.3
      Rev: lib/modules/Protocols.pmod/X.pmod/Requests.pmod:1.32
      Rev: lib/modules/Protocols.pmod/X.pmod/Xlib.pmod:1.48
      Rev: lib/modules/Protocols.pmod/X.pmod/_Xlib.pmod:1.18
      Rev: lib/modules/Remote.pmod/connection.pike:1.25
      Rev: lib/modules/SSL.pmod/cipher.pike:1.21
      Rev: lib/modules/SSL.pmod/connection.pike:1.24
      Rev: lib/modules/SSL.pmod/handshake.pike:1.30
      Rev: lib/modules/SSL.pmod/https.pike:1.13
      Rev: lib/modules/SSL.pmod/packet.pike:1.12
      Rev: lib/modules/SSL.pmod/session.pike:1.21
      Rev: lib/modules/SSL.pmod/sslfile.pike:1.51
      Rev: lib/modules/SSL.pmod/state.pike:1.15
      Rev: lib/modules/Sql.pmod/postgres.pike:1.19
      Rev: lib/modules/Standards.pmod/ASN1.pmod/Encode.pmod:1.9
      Rev: lib/modules/Standards.pmod/ASN1.pmod/Types.pmod:1.21
      Rev: lib/modules/Standards.pmod/EXIF.pmod:1.16
      Rev: lib/modules/Standards.pmod/ID3.pmod:1.8
      Rev: lib/modules/Standards.pmod/PKCS.pmod/PFX.pmod:1.7
      Rev: lib/modules/Standards.pmod/PKCS.pmod/Signature.pmod:1.7
      Rev: lib/modules/Stdio.pmod/Readline.pike:1.44
      Rev: lib/modules/Stdio.pmod/Terminfo.pmod:1.14
      Rev: lib/modules/Stdio.pmod/module.pmod:1.163
      Rev: lib/modules/String.pmod/Elite.pmod:1.3
      Rev: lib/modules/String.pmod/module.pmod:1.10
      Rev: lib/modules/Tools.pmod/AutoDoc.pmod/CExtractor.pmod:1.25
      Rev: lib/modules/Tools.pmod/AutoDoc.pmod/DocParser.pmod:1.54
      Rev: lib/modules/Tools.pmod/AutoDoc.pmod/MirarDocParser.pike:1.19
      Rev: lib/modules/Tools.pmod/AutoDoc.pmod/PikeExtractor.pmod:1.30
      Rev: lib/modules/Tools.pmod/AutoDoc.pmod/PikeParser.pike:1.32
      Rev: lib/modules/Tools.pmod/AutoDoc.pmod/ProcessXML.pmod:1.51
      Rev: lib/modules/Tools.pmod/PEM.pmod:1.9
      Rev: lib/modules/Tools.pmod/Shoot.pmod/module.pmod:1.6
      Rev: lib/modules/Tools.pmod/Standalone.pmod/assemble_autodoc.pike:1.25
      Rev: lib/modules/Tools.pmod/X509.pmod:1.17
      Rev: lib/modules/Tools.pmod/_PEM.pmod:1.5
      Rev: lib/modules/Tools.pmod/sed.pmod:1.5
      Rev: lib/modules/Web.pmod/Crawler.pmod:1.14
      Rev: lib/modules/_Image.pmod/Fonts.pmod:1.10
      Rev: lib/modules/_Image.pmod/module.pmod:1.32
      Rev: lib/modules/_Image_XCF.pmod:1.20
      Rev: lib/modules/_Image_XPM.pmod:1.13
      Rev: src/modules/Gz/flushtest.pike:1.3
      Rev: src/modules/HTTPLoop/test.pike:1.3
      Rev: src/modules/HTTPLoop/wwwserver.pike:1.5
      Rev: src/modules/_Charset/module.pmod.in:1.28
      Rev: src/modules/files/socktest.pike:1.21
      Rev: src/post_modules/GTK/new_build_pgtk.pike:1.22
      Rev: src/post_modules/GTK/output/doc-pikeref.pike:1.13
      Rev: src/post_modules/GTK/output/few.pike:1.2
      Rev: src/post_modules/GTK/output/split.pike:1.11
      Rev: src/post_modules/Unicode/make_canonicals.pike:1.2
      Rev: src/post_modules/Unicode/make_decompose.pike:1.4
      Rev: src/post_modules/Unicode/make_wordbits.pike:1.2
      Rev: src/post_modules/Unicode/test.pike:1.6
      ead9722f
      History
      strlen -> sizeof
      Martin Nilsson authored
      Rev: bin/fake_dynamic_load.pike:1.6
      Rev: bin/httpd.pike:1.5
      Rev: bin/install.pike:1.109
      Rev: bin/mkpeep.pike:1.30
      Rev: bin/tarfilter.pike:1.4
      Rev: bin/test_pike.pike:1.80
      Rev: bin/unbug:1.10
      Rev: lib/modules/ADT.pmod/struct.pike:1.11
      Rev: lib/modules/Audio.pmod/Format.pmod/module.pmod:1.6
      Rev: lib/modules/Calendar.pmod/Events.pmod:1.13
      Rev: lib/modules/Calendar.pmod/Time.pmod:1.22
      Rev: lib/modules/Calendar.pmod/Timezone.pmod:1.27
      Rev: lib/modules/Calendar.pmod/YMD.pmod:1.48
      Rev: lib/modules/Calendar.pmod/mkrules.pike:1.7
      Rev: lib/modules/Colors.pmod:1.13
      Rev: lib/modules/Crypto/_rsa.pike:1.7
      Rev: lib/modules/Crypto/des3.pike:1.8
      Rev: lib/modules/Crypto/dsa.pike:1.12
      Rev: lib/modules/Crypto/hmac.pike:1.9
      Rev: lib/modules/Crypto/randomness.pmod:1.24
      Rev: lib/modules/Crypto/rsa.pike:1.32
      Rev: lib/modules/Filesystem.pmod/System.pike:1.14
      Rev: lib/modules/Filesystem.pmod/Tar.pmod:1.19
      Rev: lib/modules/GTKSupport.pmod/MenuFactory.pmod:1.8
      Rev: lib/modules/Getopt.pmod:1.26
      Rev: lib/modules/Languages.pmod/PLIS.pmod:1.15
      Rev: lib/modules/Locale.pmod/module.pmod:1.16
      Rev: lib/modules/MIME.pmod/module.pmod:1.6
      Rev: lib/modules/Parser.pmod/C.pmod:1.38
      Rev: lib/modules/Parser.pmod/XML.pmod/DOM.pmod:1.10
      Rev: lib/modules/Parser.pmod/XML.pmod/NSTree.pmod:1.7
      Rev: lib/modules/Parser.pmod/XML.pmod/Tree.pmod:1.25
      Rev: lib/modules/Process.pmod:1.38
      Rev: lib/modules/Protocols.pmod/DNS.pmod:1.71
      Rev: lib/modules/Protocols.pmod/HTTP.pmod/Query.pike:1.48
      Rev: lib/modules/Protocols.pmod/HTTP.pmod/Server.pmod/Request.pike:1.15
      Rev: lib/modules/Protocols.pmod/IMAP.pmod/parse_line.pike:1.26
      Rev: lib/modules/Protocols.pmod/IMAP.pmod/server.pike:1.15
      Rev: lib/modules/Protocols.pmod/IMAP.pmod/types.pmod:1.28
      Rev: lib/modules/Protocols.pmod/IRC.pmod/Error.pmod:1.4
      Rev: lib/modules/Protocols.pmod/IRC.pmod/Raw.pike:1.7
      Rev: lib/modules/Protocols.pmod/Ident.pmod:1.10
      Rev: lib/modules/Protocols.pmod/LDAP.pmod/protocol.pike:1.9
      Rev: lib/modules/Protocols.pmod/Line.pmod:1.21
      Rev: lib/modules/Protocols.pmod/LysKOM.pmod/Helper.pmod:1.7
      Rev: lib/modules/Protocols.pmod/LysKOM.pmod/Raw.pike:1.14
      Rev: lib/modules/Protocols.pmod/NNTP.pmod:1.11
      Rev: lib/modules/Protocols.pmod/TELNET.pmod:1.19
      Rev: lib/modules/Protocols.pmod/X.pmod/KeySyms.pmod:1.3
      Rev: lib/modules/Protocols.pmod/X.pmod/Requests.pmod:1.32
      Rev: lib/modules/Protocols.pmod/X.pmod/Xlib.pmod:1.48
      Rev: lib/modules/Protocols.pmod/X.pmod/_Xlib.pmod:1.18
      Rev: lib/modules/Remote.pmod/connection.pike:1.25
      Rev: lib/modules/SSL.pmod/cipher.pike:1.21
      Rev: lib/modules/SSL.pmod/connection.pike:1.24
      Rev: lib/modules/SSL.pmod/handshake.pike:1.30
      Rev: lib/modules/SSL.pmod/https.pike:1.13
      Rev: lib/modules/SSL.pmod/packet.pike:1.12
      Rev: lib/modules/SSL.pmod/session.pike:1.21
      Rev: lib/modules/SSL.pmod/sslfile.pike:1.51
      Rev: lib/modules/SSL.pmod/state.pike:1.15
      Rev: lib/modules/Sql.pmod/postgres.pike:1.19
      Rev: lib/modules/Standards.pmod/ASN1.pmod/Encode.pmod:1.9
      Rev: lib/modules/Standards.pmod/ASN1.pmod/Types.pmod:1.21
      Rev: lib/modules/Standards.pmod/EXIF.pmod:1.16
      Rev: lib/modules/Standards.pmod/ID3.pmod:1.8
      Rev: lib/modules/Standards.pmod/PKCS.pmod/PFX.pmod:1.7
      Rev: lib/modules/Standards.pmod/PKCS.pmod/Signature.pmod:1.7
      Rev: lib/modules/Stdio.pmod/Readline.pike:1.44
      Rev: lib/modules/Stdio.pmod/Terminfo.pmod:1.14
      Rev: lib/modules/Stdio.pmod/module.pmod:1.163
      Rev: lib/modules/String.pmod/Elite.pmod:1.3
      Rev: lib/modules/String.pmod/module.pmod:1.10
      Rev: lib/modules/Tools.pmod/AutoDoc.pmod/CExtractor.pmod:1.25
      Rev: lib/modules/Tools.pmod/AutoDoc.pmod/DocParser.pmod:1.54
      Rev: lib/modules/Tools.pmod/AutoDoc.pmod/MirarDocParser.pike:1.19
      Rev: lib/modules/Tools.pmod/AutoDoc.pmod/PikeExtractor.pmod:1.30
      Rev: lib/modules/Tools.pmod/AutoDoc.pmod/PikeParser.pike:1.32
      Rev: lib/modules/Tools.pmod/AutoDoc.pmod/ProcessXML.pmod:1.51
      Rev: lib/modules/Tools.pmod/PEM.pmod:1.9
      Rev: lib/modules/Tools.pmod/Shoot.pmod/module.pmod:1.6
      Rev: lib/modules/Tools.pmod/Standalone.pmod/assemble_autodoc.pike:1.25
      Rev: lib/modules/Tools.pmod/X509.pmod:1.17
      Rev: lib/modules/Tools.pmod/_PEM.pmod:1.5
      Rev: lib/modules/Tools.pmod/sed.pmod:1.5
      Rev: lib/modules/Web.pmod/Crawler.pmod:1.14
      Rev: lib/modules/_Image.pmod/Fonts.pmod:1.10
      Rev: lib/modules/_Image.pmod/module.pmod:1.32
      Rev: lib/modules/_Image_XCF.pmod:1.20
      Rev: lib/modules/_Image_XPM.pmod:1.13
      Rev: src/modules/Gz/flushtest.pike:1.3
      Rev: src/modules/HTTPLoop/test.pike:1.3
      Rev: src/modules/HTTPLoop/wwwserver.pike:1.5
      Rev: src/modules/_Charset/module.pmod.in:1.28
      Rev: src/modules/files/socktest.pike:1.21
      Rev: src/post_modules/GTK/new_build_pgtk.pike:1.22
      Rev: src/post_modules/GTK/output/doc-pikeref.pike:1.13
      Rev: src/post_modules/GTK/output/few.pike:1.2
      Rev: src/post_modules/GTK/output/split.pike:1.11
      Rev: src/post_modules/Unicode/make_canonicals.pike:1.2
      Rev: src/post_modules/Unicode/make_decompose.pike:1.4
      Rev: src/post_modules/Unicode/make_wordbits.pike:1.2
      Rev: src/post_modules/Unicode/test.pike:1.6
    dsa.h 3.88 KiB
    /* dsa.h
     *
     * The DSA publickey algorithm.
     */
    
    /* nettle, low-level cryptographics library
     *
     * Copyright (C) 2002 Niels Mller
     *  
     * The nettle library is free software; you can redistribute it and/or modify
     * it under the terms of the GNU Lesser General Public License as published by
     * the Free Software Foundation; either version 2.1 of the License, or (at your
     * option) any later version.
     * 
     * The nettle library is distributed in the hope that it will be useful, but
     * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
     * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
     * License for more details.
     * 
     * You should have received a copy of the GNU Lesser General Public License
     * along with the nettle library; see the file COPYING.LIB.  If not, write to
     * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
     * MA 02111-1307, USA.
     */
     
    #ifndef NETTLE_DSA_H_INCLUDED
    #define NETTLE_DSA_H_INCLUDED
    
    #include <inttypes.h>
    #include <gmp.h>
    
    #include "sha.h"
    
    /* For nettle_random_func */
    #include "nettle-meta.h"
    
    #define DSA_MIN_P_BITS 512
    #define DSA_Q_OCTETS 20
    #define DSA_Q_BITS 160
    
    struct dsa_public_key
    {  
      /* Modulo */
      mpz_t p;
    
      /* Group order */
      mpz_t q;
    
      /* Generator */
      mpz_t g;
      
      /* Public value */
      mpz_t y;
    };
    
    struct dsa_private_key
    {
      /* Unlike an rsa public key, private key operations will need both
       * the private and the public information. */
      mpz_t x;
    };
    
    struct dsa_signature
    {
      mpz_t r;
      mpz_t s;
    };
    
    /* Signing a message works as follows:
     *
     * Store the private key in a dsa_private_key struct.
     *
     * Initialize a hashing context, by callling
     *   sha1_init
     *
     * Hash the message by calling
     *   sha1_update
     *
     * Create the signature by calling
     *   dsa_sign
     *
     * The signature is represented as two mpz_t bignums. This call also
     * resets the hashing context.
     *
     * When done with the key and signature, don't forget to call
     * mpz_clear.
     */
    
    /* Calls mpz_init to initialize bignum storage. */
    void
    dsa_public_key_init(struct dsa_public_key *key);
    
    /* Calls mpz_clear to deallocate bignum storage. */
    void
    dsa_public_key_clear(struct dsa_public_key *key);
    
    
    /* Calls mpz_init to initialize bignum storage. */
    void
    dsa_private_key_init(struct dsa_private_key *key);
    
    /* Calls mpz_clear to deallocate bignum storage. */
    void
    dsa_private_key_clear(struct dsa_private_key *key);
    
    /* Calls mpz_init to initialize bignum storage. */
    void
    dsa_signature_init(struct dsa_signature *signature);
    
    /* Calls mpz_clear to deallocate bignum storage. */
    void
    dsa_signature_clear(struct dsa_signature *signature);
    
    
    void
    _dsa_hash(mpz_t x, struct sha1_ctx *hash);
    
    void
    dsa_sign(const struct dsa_public_key *pub,
    	 const struct dsa_private_key *key,
    	 void *random_ctx, nettle_random_func random,
    	 struct sha1_ctx *hash,
    	 struct dsa_signature *signature);
    
    
    int
    dsa_verify(const struct dsa_public_key *key,
    	   struct sha1_ctx *hash,
    	   const struct dsa_signature *signature);
    
    /* Key generation */
    
    int
    dsa_generate_keypair(struct dsa_public_key *pub,
    		     struct dsa_private_key *key,
    
    		     void *random_ctx, nettle_random_func random,
    		     void *progress_ctx, nettle_progress_func progress,
    
    		     /* Size of key, in bits.
    		      * Use size = 512 + 64 * l for the official
    		      * NIS key sizes. */
    		     unsigned bits);
    
    struct sexp_iterator;
    
    int
    dsa_keypair_from_sexp_alist(struct dsa_public_key *pub,
    			    struct dsa_private_key *priv,
    			    unsigned limit,
    			    struct sexp_iterator *i);
    
    /* If PRIV is NULL, expect a public-key expression. If PUB is NULL,
     * expect a private key expression and ignore the parts not needed for
     * the public key. */
    /* Keys must be initialized before calling this function, as usual. */
    int
    dsa_keypair_from_sexp(struct dsa_public_key *pub,
    		      struct dsa_private_key *priv,
    		      unsigned limit,
    		      unsigned length, const uint8_t *expr);
    
    
    #endif /* NETTLE_DSA_H_INCLUDED */