4271 Commits

Author SHA1 Message Date
Arnel A. Borja
a1e6ecdfeb gtimezone: Indentation adn comment fixes 2012-10-12 09:58:55 -07:00
John Ralls
86a8ec047e Bug 631382 - GTimeZone support for zoneinfo version 1 2012-10-12 09:43:57 -07:00
Dan Winship
132c4cee4f ghash.c: fix docs
A previous commit left an unclosed XML tag. Fix that.
2012-10-10 10:03:15 -04:00
Jasper St. Pierre
d9730f0e31 ghash: Add documentation 2012-10-07 20:12:03 -03:00
Jasper St. Pierre
f15b2b3166 glib.py: Remove old debugging code
This was accidentally copy/pasted from gobject.py
2012-10-07 20:12:02 -03:00
Dan Winship
eb2f5c1e0f Add GLIB_VERSION_2_36 and related 2012-10-03 16:36:38 -04:00
Christian Persch
242dfd617b unicode: Add new tests for unicode 6.2 2012-10-03 13:58:20 +02:00
Christian Persch
9524c620bb unicode: Update to unicode 6.2.0 beta 2012-10-03 13:58:19 +02:00
Christian Persch
95acb7c0d1 unicode: Add new line breaking class from unicode 6.2
Regional Indicator (RI) is new in unicode 6.2.

https://bugzilla.gnome.org/show_bug.cgi?id=684912
2012-10-03 13:58:19 +02:00
Christian Persch
b0ef1c1fbb unicode: Use g_assert_cmp{int,uint,hex} in tests
This gives more info when the test goes wrong.
2012-10-03 13:58:19 +02:00
Matthias Clasen
7c045e3423 Correct to docs for g_strcmp0
Don't promise to return -1 or 1 - we fall back to strcmp which
does not guarantee this.
https://bugzilla.gnome.org/show_bug.cgi?id=685037
2012-09-30 13:40:48 -04:00
Benjamin Otte
685259dfea Fix gdb script for new quark variable names
... and don't spam stderr with exceptions if someone renames things
again.

Last but not least, keep the old names as a fallback, so that LD_PRELOAD
with an older libglib still works.
2012-09-27 15:31:46 +02:00
Chun-wei Fan
3d45854a58 Update config.h.win32(.in) and glibconfig.h.win32(.in)
-Make config.h.win32(.in) have entries that more resembles the generated
 config.h.in
-Move the ALIGNOF_* #define's from glibconfig.h.win32(.in) to
 config.h.win32(.in), where they were supposed to be.
2012-09-26 17:47:52 +08:00
Matthias Clasen
6270b3f384 Fix g_ptr_array_ref_docs
https://bugzilla.gnome.org/show_bug.cgi?id=676034
2012-09-23 11:16:26 -04:00
Matthias Clasen
a12c277acb Fix GRegex docs 2012-09-23 02:00:03 -04:00
Matthias Clasen
6283f801b0 Fix up g_tree_foreach docs 2012-09-23 02:00:03 -04:00
Matthias Clasen
d9f8381aa8 Fix up docs for GDuplicateFunc 2012-09-23 01:59:57 -04:00
Colin Walters
d6cbb29f59 CVE-2012-3524: Hardening for being run in a setuid environment
Some programs attempt to use libglib (or even libgio) when setuid.
For a long time, GTK+ simply aborted if launched in this
configuration, but we never had a real policy for GLib.

I'm not sure whether we should advertise such support.  However, given
that there are real-world programs that do this currently, we can make
them safer with not too much effort.

Better to fix a problem caused by an interaction between two
components in *both* places if possible.

This patch adds a private function g_check_setuid() which is used to
first ensure we don't run an external dbus-launch binary if
DBUS_SESSION_BUS_ADDRESS isn't set.

Second, we also ensure the local VFS is used in this case.  The
gdaemonvfs extension point will end up talking to the session bus
which is typically undesirable in a setuid context.

Implementing g_check_setuid() is interesting - whether or not we're
running in a privilege-escalated path is operating system specific.
Note that GTK+'s code to check euid versus uid worked historically on
Unix, more modern systems have filesystem capabilities and SELinux
domain transitions, neither of which are captured by the uid
comparison.

On Linux/glibc, the way this works is that the kernel sets an
AT_SECURE flag in the ELF auxiliary vector, and glibc looks for it on
startup.  If found, then glibc sets a public-but-undocumented
__libc_enable_secure variable which we can use.  Unfortunately, while
it *previously* worked to check this variable, a combination of newer
binutils and RPM break it:
http://www.openwall.com/lists/owl-dev/2012/08/14/1

So for now on Linux/glibc, we fall back to the historical Unix version
until we get glibc fixed.

On some BSD variants, there is a issetugid() function.  On other Unix
variants, we fall back to what GTK+ has been doing.

Reported-By: Sebastian Krahmer <krahmer@suse.de>
Signed-off-by: Colin Walters <walters@verbum.org>
2012-09-13 18:34:29 -04:00
Alexander Larsson
c99acf51d0 Fix regression in g_shell_parse_argv()
The commit in 6e4acf44b3a943906432a2bf55223ac107d8e0c2 broke
the fallthrough case for '\\' when it changed the '#' case.

This caused issues like this:
  https://bugzilla.gnome.org/show_bug.cgi?id=683821

https://bugzilla.gnome.org/show_bug.cgi?id=562907
2012-09-13 10:20:27 +02:00
Ryan Lortie
73a100d2ef G_DEFINE_QUARK: fix up some implementation issues
https://bugzilla.gnome.org/show_bug.cgi?id=683360
2012-09-08 14:08:01 -04:00
Colin Walters
e6df67abe6 tests/gvariant: Fix test on big endian architectures
We need to ensure we get the exact same byte-level GVariant, so
byteswap on big endian architectures.

https://bugzilla.gnome.org/show_bug.cgi?id=683384
2012-09-06 09:23:06 -04:00
Matthias Clasen
a30f6a6eb8 Add new api to symbol lists and docs
https://bugzilla.gnome.org/show_bug.cgi?id=682849
2012-09-02 15:10:20 -04:00
Matthias Clasen
06e3a1d71a Add compare-and exchange for data lists
Also, make it possible to get a 'new ref' on a datalist member
in a race-free way.
This is useful when using object data in thread-safe libraries.

https://bugzilla.gnome.org/show_bug.cgi?id=682849
2012-09-02 15:09:12 -04:00
Matthias Clasen
c270b833a6 Fix shell tests 2012-09-01 11:08:27 -04:00
6e4acf44b3 gshell: Fix parsing of comments in command lines.
Fixes bug 562907
2012-08-29 20:42:25 -04:00
Colin Walters
6e64ba58b9 Switch all open() calls to use g_open()
Because it now handles EINTR.  And we should do so.  While most people
use Linux, which tries very hard to avoid propagating EINTR back up
into userspace, it can still happen.

https://bugzilla.gnome.org/show_bug.cgi?id=682833
2012-08-28 13:56:59 -04:00
Cosimo Cecchi
4b602940e2 glib: don't quote quark names for G_DEFINE_QUARK 2012-08-28 13:16:24 -04:00
Cosimo Cecchi
daae12710a gquark: clarify G_DEFINE_QUARK docs about the use of quotes
Use the term "name" instead of "string" in the documentation, and add a
note explaining double quotes shouldn't be used for the quark name.
2012-08-28 13:16:23 -04:00
Matthias Clasen
369c7689c2 Add missing includes 2012-08-28 05:57:17 -04:00
Matthias Clasen
b7d1518ce9 Fix a typo in a doc comment 2012-08-28 00:08:07 -04:00
Matthias Clasen
4f12f7c029 Use G_DEFINE_QUARK for GLib's own quarks
This commit just deals with glib/.
gobject/ and gio/ will be handled in separate commits.
2012-08-28 00:08:07 -04:00
Matthias Clasen
702b448865 Add a G_DEFINE_QUARK macro
https://bugzilla.gnome.org/show_bug.cgi?id=627240
2012-08-28 00:08:07 -04:00
Matthias Clasen
a1ff18582d Put quarks in their own source file
Just because I'm too lazy to grep every single time for the other
source file in which the quark code is hiding.
2012-08-28 00:08:06 -04:00
Colin Walters
ce976bcac7 gstdio: Harden g_open() against EINTR
Noticed by code inspection, when auditing some of my code for EINTR
handling.

https://bugzilla.gnome.org/show_bug.cgi?id=682819
2012-08-27 18:10:12 -04:00
Colin Walters
d54e10632a gvariant: Add tests for exact SHA256 checksums
I'd like to use GVariant as a data format in my userspace filesystem,
and having the actual bits be stable means I can reliably compute
cryptographic checksums.

This updated patch removes vardict checks, because Ryan wants the
flexibility to change them in the future.

https://bugzilla.gnome.org/show_bug.cgi?id=673012
2012-08-27 17:02:00 -04:00
Ryan Lortie
7936af6934 GVariantType: gut g_variant_type_check()
This function is causing an insane amount of wasted time on some
real-world profiles and it's pretty useless since we already have
GVariantType (as a type different from a string) for the purpose of
static type safety.

Disable it for now.  We can possibly turn this back on again if we solve
bug #544026.

https://bugzilla.gnome.org/show_bug.cgi?id=679835
2012-08-27 16:12:30 -04:00
Dan Winship
1a2c5e155d glib/tests: fix leaks
https://bugzilla.gnome.org/show_bug.cgi?id=682560
2012-08-27 07:38:27 -04:00
Dan Winship
0c0cdfd9c4 gtestutils: add g_test_add_data_func_full()
Like g_test_add_data_func(), but includes a GDestroyNotify for the
test data.

https://bugzilla.gnome.org/show_bug.cgi?id=682560
2012-08-27 07:31:13 -04:00
Dan Winship
2427378223 gmain: remove unix signal watch if its GSourceFunc returns FALSE
g_unix_signal_watch_dispatch() was ignore the callback's return value.
Fix that.

https://bugzilla.gnome.org/show_bug.cgi?id=682560
2012-08-27 07:24:15 -04:00
Dan Winship
99c7c951d9 gmain: don't leak child sources that are destroyed before their parents
A parent source holds refs on its children, so if the child source is
destroyed, we need to drop that ref. Fix, and reorganize to make this
all more obvious.

https://bugzilla.gnome.org/show_bug.cgi?id=682560
2012-08-27 07:24:07 -04:00
Dan Winship
48a9887eae gmain: free source_lists when freeing GMainContext
If a context was freed with sources still attached, those sources
correctly got destroyed, but the corresponding GSourceList structs
were being leaked.

https://bugzilla.gnome.org/show_bug.cgi?id=682560
2012-08-27 07:23:59 -04:00
William Jon McCann
dbad8304ff Don't crash if set_app_info is called before adding metadata
set_mime_type, set_is_private, add_group, set_groups, set_icon, etc
all added metadata before using it. If set_app_info was called before
any of those it would crash when trying to access the metadata.
2012-08-24 13:36:26 -04:00
Colin Walters
0b6fdff05c Fix regression when TMPDIR/TMP are unset
We should just be returning /tmp as a default, not calling g_getenv
("/tmp") which makes no sense.

https://bugzilla.gnome.org/show_bug.cgi?id=672329
2012-08-22 14:48:41 -04:00
Ryan Lortie
59394b3e1e Revert the GMarkup attribute collect changes
We need to have some more discussion on this topic.

This reverts commits 86329ba44fc7662c0bad37955f0ec980a24be495 and
8d40389d15544bdc612989157f80380badce52f7.

https://bugzilla.gnome.org/show_bug.cgi?id=665634
2012-08-20 18:34:13 -04:00
Ryan Lortie
850680d751 gmarkup test: fix use of message expect API 2012-08-20 17:57:13 -04:00
Dan Winship
56210220a2 tests/protocol: update the messages to reflect G_LOG_DOMAIN being set now 2012-08-20 17:26:45 -04:00
Ryan Lortie
d06c7a911e g_test_expect_message: add some g_return_if_fail
NULL domain is not supported and some might expect this to work, so make
sure they don't get the wrong idea...
2012-08-20 16:26:25 -04:00
Ryan Lortie
34653169e5 GVariant: add g_variant_check_format_string()
For some time now people have been asking for a way to check for type
compatibility between GVariant instances and format strings.  There are
several APIs inside of GLib itself that would benefit from this.

This patch introduces a way to do that.
2012-08-20 16:26:25 -04:00
Dan Winship
cc24dac3c8 glib/tests: use g_test_expect_message()
Replace some tests that used to use g_test_trap_fork() with
g_test_expect_message() instead.

https://bugzilla.gnome.org/show_bug.cgi?id=679556
2012-08-20 13:54:52 -04:00
Dan Winship
25ac137c0a gtestutils: add g_text_expect_message()
Add g_test_expect_message() and g_test_assert_expected_messages(), to
allow tests of warnings, error messages, return-if-fails, etc.

https://bugzilla.gnome.org/show_bug.cgi?id=679556
2012-08-20 13:54:52 -04:00