49 Commits

Author SHA1 Message Date
Philip Withnall
0fe15f9b9b docs: Move the GChecksum SECTION
Move it to the struct docs.

Signed-off-by: Philip Withnall <philip@tecnocode.co.uk>

Helps: #3037
2023-11-02 16:30:23 +00:00
Philip Withnall
70ee43f1e9 glib: Add SPDX license headers automatically
Add SPDX license (but not copyright) headers to all files which follow a
certain pattern in their existing non-machine-readable header comment.

This commit was entirely generated using the command:
```
git ls-files glib/*.[ch] | xargs perl -0777 -pi -e 's/\n \*\n \* This library is free software; you can redistribute it and\/or\n \* modify it under the terms of the GNU Lesser General Public/\n \*\n \* SPDX-License-Identifier: LGPL-2.1-or-later\n \*\n \* This library is free software; you can redistribute it and\/or\n \* modify it under the terms of the GNU Lesser General Public/igs'
```

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>

Helps: #1415
2022-05-18 09:19:02 +01:00
Philip Withnall
0755ff97be gchecksum: Drop preconditions for checksum_type being valid
Instead, return `NULL` if the checksum type is unsupported. This may
come in useful if we have to withdraw support for a particular checksum
type in future, due to it being broken.

These semantics were already in place for the return value of
`g_checksum_new()` — see commit 877cc60f and bug
comment https://bugzilla.gnome.org/show_bug.cgi?id=501853#c6.

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2020-12-12 18:30:22 +00:00
Philip Withnall
3fef049472 gchecksum: Add missing (transfer) and (nullable) return annotations
This commit only looks at the `Returns:` lines in the documentation, and
has examined all of them in the file. Function arguments have not been
checked.

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>

Helps: #2227
2020-12-12 18:30:22 +00:00
Philip Withnall
18a232be89 glib: Various minor scan-build fixes
These squash various warnings from `scan-build`. None of them are
legitimate bugs, but some of them do improve code readability a bit.

Signed-off-by: Philip Withnall <withnall@endlessm.com>

Helps: #1767
2019-09-05 13:51:27 +01:00
Дилян Палаузов
512655aa12 minor typos in the documentation (a/an) 2019-08-24 19:14:05 +00:00
Emmanuel Fleury
b8efd0df41 Fixing signedness in digest_to_string:glib/gchecksum.c
glib/gchecksum.c: In function ‘digest_to_string’:
glib/gchecksum.c:186:17: error: comparison of integer expressions of different signedness: ‘gint’ {aka ‘int’} and ‘gsize’ {aka ‘long unsigned int’} [-Werror=sign-compare]
   for (i = 0; i < digest_len; i++)
                 ^
2019-01-28 15:26:43 +01:00
Philip Withnall
9470aa2cb9 gchecksum: Use G_GUINT64_CONSTANT for SHA-512 constants
They’re all 8 bytes long, and integer constants that large need a suffix
on 32-bit platforms.

Signed-off-by: Philip Withnall <withnall@endlessm.com>

https://gitlab.gnome.org/GNOME/glib/issues/977
2018-06-29 18:26:00 +01:00
Philip Withnall
71eccfeec7 glib: Add (inout) annotations to g_[hmac|checksum]_get_digest()
Signed-off-by: Philip Withnall <withnall@endlessm.com>
Reviewed-by: nobody
2018-03-20 20:21:32 +00:00
Sébastien Wilmet
f9faac7661 glib/: LGPLv2+ -> LGPLv2.1+
All glib/*.{c,h} files have been processed, as well as gtester-report.

12 of those files are not licensed under LGPL:

	gbsearcharray.h
	gconstructor.h
	glibintl.h
	gmirroringtable.h
	gscripttable.h
	gtranslit-data.h
	gunibreak.h
	gunichartables.h
	gunicomp.h
	gunidecomp.h
	valgrind.h
	win_iconv.c

Some of them are generated files, some are licensed under a BSD-style
license and win_iconv.c is in the public domain.

Sub-directories inside glib/:

	deprecated/: processed in a previous commit
	glib-mirroring-tab/: already LGPLv2.1+
	gnulib/: not modified, the code is copied from gnulib
	libcharset/: a copy
	pcre/: a copy
	tests/: processed in a previous commit

https://bugzilla.gnome.org/show_bug.cgi?id=776504
2017-05-24 11:58:19 +02:00
Philip Withnall
001245171b gchecksum: Fix validity checks for GChecksumType
This fixes the unit tests after commit 3e32350b rearranged the enum
order.

Signed-off-by: Philip Withnall <withnall@endlessm.com>

https://bugzilla.gnome.org/show_bug.cgi?id=771997
2017-02-27 10:19:19 +00:00
Igor Gnatenko
1f9a9f8ce5 gchecksum: add SHA-384 support
Signed-off-by: Igor Gnatenko <ignatenko@src.gnome.org>
2017-02-20 12:40:26 +01:00
Ryan Lortie
dce88768dc all: remove use of 'register' keyword
We should have done this a decade ago...

https://bugzilla.gnome.org/show_bug.cgi?id=730293
2014-06-28 13:07:52 -04:00
William Jon McCann
20f4d1820b docs: use "Returns:" consistently
Instead of "Return value:".
2014-02-19 19:41:52 -05:00
Daniel Mustieles
078dbda148 Updated FSF's address 2014-01-31 14:31:55 +01:00
Dan Winship
4b94c0831e Use 'dumb quotes' rather than `really dumb quotes'
Back in the far-off twentieth century, it was normal on unix
workstations for U+0060 GRAVE ACCENT to be drawn as "‛" and for U+0027
APOSTROPHE to be drawn as "’". This led to the convention of using
them as poor-man's ‛smart quotes’ in ASCII-only text.

However, "'" is now universally drawn as a vertical line, and "`" at a
45-degree angle, making them an `odd couple' when used together.

Unfortunately, there are lots of very old strings in glib, and also
lots of new strings in which people have kept up the old tradition,
perhaps entirely unaware that it used to not look stupid.

Fix this by just using 'dumb quotes' everywhere.

https://bugzilla.gnome.org/show_bug.cgi?id=700746
2013-05-21 11:23:22 -03:00
Colin Walters
bf1e63c2aa Make GChecksum more fully introspectable
In 2.34, g_compute_checksum_for_bytes() was added, but this patch
allows binding users to use the incremental update API; this is
significantly more efficient than reading entire files into memory.

https://bugzilla.gnome.org/show_bug.cgi?id=689982
2012-12-10 20:08:09 -05:00
Eduardo Lima Mitev
6e2046207a gchecksum: Adds SHA512 support
https://bugzilla.gnome.org/show_bug.cgi?id=602715
2012-11-21 21:50:26 +01:00
Stef Walter
278fe0c67f gchecksum: Add g_compute_checksum_for_bytes()
* Add a GBytes based version of g_compute_checksum_for_data()
 * Add appropriate tests

https://bugzilla.gnome.org/show_bug.cgi?id=680912
2012-08-06 10:38:39 +02:00
Dan Winship
a81a062202 gchecksum: fix strict-aliasing warnings in the MD5 code
https://bugzilla.gnome.org/show_bug.cgi?id=673191
2012-04-05 12:57:56 -04:00
Ravi Sankar Guntur
7486cd946a comments/docs: Fix couple of typos
https://bugzilla.gnome.org/show_bug.cgi?id=668857
2012-01-28 07:52:56 +01:00
Matthias Clasen
06bb6c75a2 More consistent doc formatting
Move some things around, make capitalization of short descriptions
more consistent.
2011-11-12 21:54:42 -05:00
Ryan Lortie
37c740d509 Don't #include <glib/gslice.h> from gmem.h
It looks like this was done just to help people port from gmem to
gslice, but nothing in this header actually requires gslice.h to be
included.
2011-09-18 22:07:18 -04:00
Ryan Lortie
8073759f8c Remove all uses of G_CONST_RETURN
Just use 'const'.

https://bugzilla.gnome.org/show_bug.cgi?id=644611
2011-06-09 11:15:40 -04:00
Emmanuele Bassi
08f0a31289 Revert "Remove all uses of G_CONST_RETURN"
This reverts commit 36741245cca56e979fe85e3de676fb3912058f2c.

The removal has not been discussed, except on Bugzilla:

https://bugzilla.gnome.org/show_bug.cgi?id=644611
2011-03-15 09:03:28 +00:00
Ryan Lortie
36741245cc Remove all uses of G_CONST_RETURN
Just use 'const'.
2011-03-15 01:32:22 -04:00
Johan Dahlin
fdaaa22b58 Correct gtk-doc SECTION: syntax
g-ir-scanner does not allow a space between the : and the
section name.
2011-02-01 16:18:02 -02:00
Emmanuele Bassi
ca7dee5949 Build fixes for the fall-out of the inclusion changes 2010-09-04 18:04:34 +01:00
Matthias Clasen
ebcdbd9555 Remove redundant header inclusions
and clean up some whitespace
2010-09-03 19:49:34 -04:00
Ryan Lortie
2e53e50244 glib/: fully remove galias hacks 2010-07-07 19:34:35 -04:00
Ryan Lortie
fb94e65a64 GChecksum: accept NULL pointer with length 0
Several GChecksum functions were incorrectly aborting when passed a NULL
data pointer, even if the length parameter was equal to zero.
2010-06-24 00:39:38 -04:00
Ryan Lortie
fa7cafae5c GChecksum: move docs from tmpl to .c 2010-02-01 10:28:39 -05:00
Stefan Walter
a4d3d1f3c8 Document and guarantee hex digests will be returned in lower case.
See bug #574019

svn path=/trunk/; revision=7971
2009-03-11 15:47:36 +00:00
Matthias Clasen
f548330275 Fix "it's" vs "its" confusion throughout the source. Patch by Will
* Fix "it's" vs "its" confusion throughout the source. Patch
        by Will Thompson.


svn path=/trunk/; revision=7897
2009-02-23 04:30:06 +00:00
Matthias Clasen
c6404e8329 Accept short data
svn path=/trunk/; revision=7625
2008-10-24 04:10:50 +00:00
Michael Natterer
ed2bbc43cc add g_return_if_fail (checksum != NULL)
2008-09-02  Michael Natterer  <mitch@imendio.com>

	* glib/gchecksum.c (g_checksum_reset): add
	g_return_if_fail (checksum != NULL)


svn path=/trunk/; revision=7423
2008-09-02 14:07:27 +00:00
Johan Dahlin
761424465a Include "config.h" instead of <config.h> Command used: find -name
2008-06-21  Johan Dahlin  <jdahlin@async.com.br>

    * *.[ch]: Include "config.h" instead of <config.h>
    Command used:
    find -name \*.[ch]|xargs perl -p -i -e 's/^#include <config.h>/#include "config.h"/g'
    Rubberstamped by Mitch


svn path=/trunk/; revision=7092
2008-06-22 15:10:51 +00:00
Matthias Clasen
c1d7063c06 Doc improvements
svn path=/trunk/; revision=6933
2008-05-26 04:51:41 +00:00
Jeffrey Stedfast
d238669ef0 New function to reset the state of a GChecksum. (g_checksum_new): Call
2008-05-12  Jeffrey Stedfast  <fejj@novell.com>

	* glib/gchecksum.c (g_checksum_reset): New function to reset the
	state of a GChecksum.
	(g_checksum_new): Call g_checksum_reset() instead of duplicating
	code.


svn path=/trunk/; revision=6903
2008-05-17 16:53:54 +00:00
Emmanuele Bassi
62b18e67b7 Use the macro GLib provides for byte-swapping as it can be optimized.
2008-04-17  Emmanuele Bassi  <ebassi@gnome.org>

	* glib/gchecksum.c:
	(sha_byte_reverse): Use the macro GLib provides for byte-swapping
	as it can be optimized.
	
	(g_checksum_update): Fix a compiler warning.

svn path=/trunk/; revision=6861
2008-04-17 11:29:26 +00:00
Matthew Barnes
154ebf8e78 Make 'length' parameter signed to accomodate passing negative lengths.
2008-02-27  Matthew Barnes  <mbarnes@redhat.com>

	* glib/gchecksum.[ch] (g_checksum_update),
	(g_compute_checksum_for_string): Make 'length' parameter
	signed to accomodate passing negative lengths. (#510855)


svn path=/trunk/; revision=6600
2008-02-28 01:48:00 +00:00
Wouter Bolsterlee
ca25b31ee3 Fixed gtk-doc warnings by updating the documentation of various functions.
2008-01-30  Wouter Bolsterlee  <wbolster@svn.gnome.org>

	* glib/gchecksum.c:
	* glib/gtestutils.c:
	* glib/gutils.c:

	Fixed gtk-doc warnings by updating the documentation of
	various functions.

svn path=/trunk/; revision=6429
2008-01-30 20:52:13 +00:00
Murray Cumming
5fbfef4cb7 Accept -1 for the data length if the data is a null-terminated string. Bug
2008-01-20  Murray Cumming  <murrayc@murrayc.com>

        * glib/gchecksum.c: (g_checksum_update): Accept -1 for the data 
        length if the data is a null-terminated string. Bug #510855.

svn path=/trunk/; revision=6340
2008-01-21 13:11:13 +00:00
Dan Winship
f1332511ee Fix another bug (which doesn't affect the results, but may cause it to
* glib/gchecksum.c (md5_sum_update): Fix another bug (which
	doesn't affect the results, but may cause it to read bad memory).

svn path=/trunk/; revision=6323
2008-01-16 21:28:04 +00:00
Dan Winship
cc1404cfc8 fix this; the previous code gave the wrong md5sum when called in certain
* glib/gchecksum.c (md5_sum_update): fix this; the previous code
	gave the wrong md5sum when called in certain ways with buffers
	larger than 64 bytes.
	(g_checksum_update): remove the unnecessary "length > 1"
	restriction

	* tests/checksum-test.c: Rewrite this to be much more exhaustive
	(and in particular to test the md5_sum_update bugfix).

svn path=/trunk/; revision=6314
2008-01-15 06:21:58 +00:00
Matthias Clasen
877cc60f03 Return NULL if the checksum_type is unknown
svn path=/trunk/; revision=6175
2007-12-20 15:12:40 +00:00
Christian Persch
fc23e6ffac Use g_slice_new0, to fix "conditional jump or move depends on
2007-12-20  Christian Persch  <chpe@gnome.org>

	* glib/gchecksum.c: (g_checksum_new): Use g_slice_new0, to fix
	"conditional jump or move depends on uninitialised value(s)" error
	from valgrind. Bug #504527.

svn path=/trunk/; revision=6174
2007-12-20 14:20:31 +00:00
Christian Persch
1ea515d019 Add g_checksum_type_get_length, and change g_checksum_get_digest to use a
2007-12-19  Christian Persch  <chpe@gnome.org>

	* glib/gchecksum.c: (g_checksum_type_get_length),
	(g_checksum_get_digest):
	* glib/gchecksum.h:
	* glib/glib.symbols:
	* tests/checksum-test.c: (test_checksum): Add
	g_checksum_type_get_length, and change g_checksum_get_digest to use a
	provided buffer instead of returning allocated memory. Bug #501853.

svn path=/trunk/; revision=6162
2007-12-19 18:53:27 +00:00
Emmanuele Bassi
f17db34652 Add GChecksum, a generic wrapper around various hashing algorithms. At the
2007-12-04  Emmanuele Bassi  <ebassi@gnome.org>

	* glib/gchecksum.[ch]: Add GChecksum, a generic wrapper around
	various hashing algorithms. At the moment, the MD5, SHA-1 and
	SHA-256 algorithms are supported. (#443648)

	* glib/glib.h:
	* glib/Makefile.am:
	* glib/glib.symbols: Build glue for GChecksum

	* tests/Makefile.am
	* tests/checksum-test.c: Add test suite for GChecksum.

svn path=/trunk/; revision=6042
2007-12-04 16:31:51 +00:00