platform/upstream/glib.git
14 years agodatetime: Fix the format documentation
Emmanuele Bassi [Wed, 25 Aug 2010 11:09:16 +0000 (12:09 +0100)]
datetime: Fix the format documentation

The %x format is for the preferred date, and the %X format is for the
preferred time.

14 years agodatetime: Clean up macros and unused variables
Emmanuele Bassi [Wed, 25 Aug 2010 11:06:47 +0000 (12:06 +0100)]
datetime: Clean up macros and unused variables

The most complex macros should be converted to inlined functions,
instead, to guarantee some type safety.

14 years agodatetime: Remove the translation marker for a warning message
Emmanuele Bassi [Tue, 24 Aug 2010 23:27:49 +0000 (00:27 +0100)]
datetime: Remove the translation marker for a warning message

14 years agodocs: Add GDateTime to the GLib API reference
Emmanuele Bassi [Tue, 24 Aug 2010 22:30:30 +0000 (23:30 +0100)]
docs: Add GDateTime to the GLib API reference

14 years agodocs: Mention TZDIR
Emmanuele Bassi [Tue, 24 Aug 2010 20:37:43 +0000 (21:37 +0100)]
docs: Mention TZDIR

The timezone code in GDateTime honours the TZDIR environment variable,
so it should be mentioned in the list of variables GLib checks at
runtime.

14 years agodatetime: Add GDateTime to the GType system
Thiago Santos [Fri, 28 May 2010 11:19:29 +0000 (08:19 -0300)]
datetime: Add GDateTime to the GType system

As with other GLib data types, use a GBoxed.

14 years agoAdd GDateTime to GLib
Thiago Santos [Fri, 28 May 2010 11:19:29 +0000 (08:19 -0300)]
Add GDateTime to GLib

GDateTime is an opaque data type containing a date and time
representation. It's immutable once created and reference
counted.

https://bugzilla.gnome.org/show_bug.cgi?id=50076

Based on the code by: Christian Hergert <chris@dronelabs.com>

Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
14 years agoAdd C_() to glibintl.h
Emmanuele Bassi [Tue, 24 Aug 2010 21:47:02 +0000 (22:47 +0100)]
Add C_() to glibintl.h

14 years agoAdd const to _pcre_ucp_othercase() definition in pcre_internal.h
Cody Russell [Mon, 23 Aug 2010 17:34:53 +0000 (12:34 -0500)]
Add const to _pcre_ucp_othercase() definition in pcre_internal.h

14 years agoUpdated Spanish translation
Jorge González [Mon, 23 Aug 2010 15:40:02 +0000 (17:40 +0200)]
Updated Spanish translation

14 years agoInclude gproxyaddress.h explicitly
Tor Lillqvist [Mon, 23 Aug 2010 11:31:20 +0000 (14:31 +0300)]
Include gproxyaddress.h explicitly

14 years agoImprove testutils test coverage
Matthias Clasen [Mon, 23 Aug 2010 04:37:52 +0000 (00:37 -0400)]
Improve testutils test coverage

14 years agoImprove printf test coverage
Matthias Clasen [Mon, 23 Aug 2010 04:37:37 +0000 (00:37 -0400)]
Improve printf test coverage

14 years agoImprove GDate test coverate
Matthias Clasen [Mon, 23 Aug 2010 04:37:21 +0000 (00:37 -0400)]
Improve GDate test coverate

14 years agoImprove GDBus introspection test coverage
Matthias Clasen [Mon, 23 Aug 2010 04:36:36 +0000 (00:36 -0400)]
Improve GDBus introspection test coverage

14 years agoGDBusMethodInvocation: nuke constructor
David Zeuthen [Mon, 23 Aug 2010 02:56:49 +0000 (22:56 -0400)]
GDBusMethodInvocation: nuke constructor

... that is, make it private. This makes sense because users are never
expected to create such objects themselves - only the GDBus core will
need this.

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoUpdated galician translations
Fran Diéguez [Mon, 23 Aug 2010 00:24:25 +0000 (02:24 +0200)]
Updated galician translations

14 years agoUpdated Spanish translation
Jorge González [Sun, 22 Aug 2010 19:17:53 +0000 (21:17 +0200)]
Updated Spanish translation

14 years agoBug 624546 – Modification of GDBusMessage in filter function
David Zeuthen [Fri, 6 Aug 2010 00:37:27 +0000 (20:37 -0400)]
Bug 624546 – Modification of GDBusMessage in filter function

Allow modifying a GDBusMessage in a filter function and also add tests
for this. This breaks API but leaves ABI (almost) intact - at least
dconf's GSettings backend (the only big user I know of) will keep
working.

https://bugzilla.gnome.org/show_bug.cgi?id=624546

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoUpdated Danish translation
Ask H. Larsen [Sun, 22 Aug 2010 11:17:24 +0000 (13:17 +0200)]
Updated Danish translation

14 years agoAdd proxy extension point to overview docs
Matthias Clasen [Sun, 22 Aug 2010 02:22:25 +0000 (22:22 -0400)]
Add proxy extension point to overview docs

The 'Extending GIO' section is supposed to list all extension
points, so add the proxy extension point here.

14 years agoFix build on !unix
Matthias Clasen [Sun, 22 Aug 2010 02:14:28 +0000 (22:14 -0400)]
Fix build on !unix

There was one code block still referring to fd_list outside of
the ifdef G_OS_UNIX. Pointed out by Sam Thursfield in bug 627392.

14 years agoBetter fix for the build problem
Matthias Clasen [Sun, 22 Aug 2010 02:09:32 +0000 (22:09 -0400)]
Better fix for the build problem

Use gnetworkingprivate.h instead, patch by Emilio Pozuelo Monfort,
bug 627407.

14 years agoMake gdbus-peer build on !linux
Matthias Clasen [Sun, 22 Aug 2010 02:06:56 +0000 (22:06 -0400)]
Make gdbus-peer build on !linux

Based on a patch by Koop Mast, bug 627088.

14 years agoFix a duplicate word
Matthias Clasen [Sun, 22 Aug 2010 01:58:51 +0000 (21:58 -0400)]
Fix a duplicate word

Pointed out in bug 627604.

14 years agoAdd some more annotations
Matthias Clasen [Sat, 21 Aug 2010 23:27:11 +0000 (19:27 -0400)]
Add some more annotations

14 years agoImprove test coverage for actions and action groups
Matthias Clasen [Sat, 21 Aug 2010 23:18:40 +0000 (19:18 -0400)]
Improve test coverage for actions and action groups

14 years agoDocument behaviour wrt. to floating variants
Matthias Clasen [Sat, 21 Aug 2010 23:18:17 +0000 (19:18 -0400)]
Document behaviour wrt. to floating variants

14 years agoDocument behaviour wrt to floating variants
Matthias Clasen [Sat, 21 Aug 2010 23:11:03 +0000 (19:11 -0400)]
Document behaviour wrt to floating variants

14 years agoAdd some annotations
Matthias Clasen [Sat, 21 Aug 2010 20:30:50 +0000 (16:30 -0400)]
Add some annotations

14 years agoSimplify/fix state logic in GAction, test it.
Ryan Lortie [Sat, 21 Aug 2010 21:35:32 +0000 (17:35 -0400)]
Simplify/fix state logic in GAction, test it.

14 years agoAdd some forgotten symbols
Matthias Clasen [Sat, 21 Aug 2010 19:40:46 +0000 (15:40 -0400)]
Add some forgotten symbols

14 years agoIgnore some more private headers
Matthias Clasen [Sat, 21 Aug 2010 19:40:32 +0000 (15:40 -0400)]
Ignore some more private headers

14 years agoFix documentation issues
Matthias Clasen [Sat, 21 Aug 2010 19:34:40 +0000 (15:34 -0400)]
Fix documentation issues

Gtk-doc is unhappy if the parameter names don't match between header
and source.

14 years agoFix GActionGroup docs
Matthias Clasen [Sat, 21 Aug 2010 19:34:18 +0000 (15:34 -0400)]
Fix GActionGroup docs

14 years agoUpdated Serbian translation
Милош Поповић [Sat, 21 Aug 2010 18:05:14 +0000 (20:05 +0200)]
Updated Serbian translation

14 years agoUpdated Traditional Chinese translation(Hong Kong and Taiwan)
Chao-Hsiung Liao [Sat, 21 Aug 2010 11:43:37 +0000 (19:43 +0800)]
Updated Traditional Chinese translation(Hong Kong and Taiwan)

14 years agoUpdated Hebrew translation.
Yaron Shahrabani [Fri, 20 Aug 2010 23:35:07 +0000 (02:35 +0300)]
Updated Hebrew translation.

14 years agoUpdated galician translations
Fran Diéguez [Fri, 20 Aug 2010 11:23:11 +0000 (13:23 +0200)]
Updated galician translations

14 years agoFix misc compiler warnings in (mostly) test programs
Dan Winship [Thu, 19 Aug 2010 22:24:53 +0000 (18:24 -0400)]
Fix misc compiler warnings in (mostly) test programs

14 years agogio.symbols: add missing g_simple_action_group stuff
Dan Winship [Thu, 19 Aug 2010 21:51:24 +0000 (17:51 -0400)]
gio.symbols: add missing g_simple_action_group stuff

14 years agogproxyaddressenumerator.h: add missing G_END_DECLS
Dan Winship [Thu, 19 Aug 2010 21:51:01 +0000 (17:51 -0400)]
gproxyaddressenumerator.h: add missing G_END_DECLS

14 years agogio/proxy: Fixed compilation warnings
Nicolas Dufresne [Thu, 19 Aug 2010 21:31:42 +0000 (17:31 -0400)]
gio/proxy: Fixed compilation warnings

* Wrong return type (NULL instead of FALSE)
* Unused static function declaration

14 years agoAdd support for g_socket_client_add_application_proxy()
Nicolas Dufresne [Thu, 19 Aug 2010 20:23:50 +0000 (16:23 -0400)]
Add support for g_socket_client_add_application_proxy()

This allow application to take control over certain proxy protocol
handling. When a proxy protocol must be used and is found in the
application proxies, GSocketClient will simply TCP connect to the proxy
server and return the connection.

Reviewed-by: Dan Winship <danw@gnome.org>
14 years agoImplemented SOCKSv4 and SOCKSv4a
Nicolas Dufresne [Tue, 25 May 2010 20:02:42 +0000 (16:02 -0400)]
Implemented SOCKSv4 and SOCKSv4a

14 years agoImplemented proxy sample code that connect to proxy
Nicolas Dufresne [Fri, 7 May 2010 20:35:04 +0000 (16:35 -0400)]
Implemented proxy sample code that connect to proxy

14 years agoImplemented g_socket_client_connect_to_uri() method
Nicolas Dufresne [Thu, 29 Apr 2010 22:51:42 +0000 (18:51 -0400)]
Implemented g_socket_client_connect_to_uri() method

Using this rather than g_socket_client_connect() or
g_socket_client_connect_to_host() allows #GSocketClient to
determine when to use application-specific proxy protocols.

Reviewed-by: Dan Winship <danw@gnome.org>
14 years agoHooked proxy enumeration into GSocketClient
Nicolas Dufresne [Tue, 10 Aug 2010 20:48:45 +0000 (16:48 -0400)]
Hooked proxy enumeration into GSocketClient

This functionnallity can be disabled using property enable-proxy. It
enumerates addresses using GSocketConnectable::proxy_enumerate() instead of
enumerate(). When the returned address is of type GProxyAddress (a type
based on GInetSocketAddress), it gets the proxy protocol handler using
g_proxy_get_default_for_protocol() and call connect() on it.

Reviewed-by: Dan Winship <danw@gnome.org>
14 years agoImplement GProxyConnection a GIOStream+GTcpConn wrapper
Nicolas Dufresne [Fri, 23 Jul 2010 00:51:23 +0000 (20:51 -0400)]
Implement GProxyConnection a GIOStream+GTcpConn wrapper

This class inherit from GTcpConnection by refing the socket of
an existing GTcpConnection and wraps a custom GIOStream into itself. This
is to allow implementing proxies that alters data stream, like when using
GSSAPI privacy inside SOCKS5.

14 years agoImplemented SOCKSv5 proxy support
Nicolas Dufresne [Thu, 29 Apr 2010 19:22:55 +0000 (15:22 -0400)]
Implemented SOCKSv5 proxy support

14 years agoGSocket: store the remote_address when connecting
Dan Winship [Fri, 25 Jun 2010 18:28:02 +0000 (14:28 -0400)]
GSocket: store the remote_address when connecting

This way, if g_socket_connect() is called with a GProxyAddress,
g_socket_get_remote_address() will later return that same address.

Reviewed-by: Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
14 years agoExtend IO_ERROR enum for Proxy support
Nicolas Dufresne [Wed, 28 Apr 2010 19:39:56 +0000 (15:39 -0400)]
Extend IO_ERROR enum for Proxy support

14 years agoImplemented proxy sample for all Connectables
Nicolas Dufresne [Fri, 7 May 2010 20:32:05 +0000 (16:32 -0400)]
Implemented proxy sample for all Connectables

14 years agoImplemented proxy_enumerate() for all Connectables
Nicolas Dufresne [Tue, 10 Aug 2010 19:45:32 +0000 (15:45 -0400)]
Implemented proxy_enumerate() for all Connectables

This patch implements method proxy_enumerate from GSocketConnectable for
all connectables (GNetworkAddress, GNetworkService, GInetSocketAddress
and GUnixSocketAddress).

Reviewed-by: Dan Winship <danw@gnome.org>
14 years agoAdded proxy_enumerate method to GSocketConnectable
Nicolas Dufresne [Tue, 10 Aug 2010 20:53:25 +0000 (16:53 -0400)]
Added proxy_enumerate method to GSocketConnectable

Reviewed-by: Dan Winship <danw@gnome.org>
14 years agoAdded GProxyAddressEnumerator to proxy sample code
Nicolas Dufresne [Fri, 7 May 2010 20:27:34 +0000 (16:27 -0400)]
Added GProxyAddressEnumerator to proxy sample code

14 years agoAdding GProxyAddressEnumerator class
Nicolas Dufresne [Tue, 10 Aug 2010 19:25:11 +0000 (15:25 -0400)]
Adding GProxyAddressEnumerator class

An implementation of GSocketAddressEnumerator that handles proxy
enumeration. This class is mainly usefull for Connectables implementation
such as NetworkService, NetworkAddress and SocketAddress to handle proxies.

Reviewed-by: Dan Winship <danw@gnome.org>
14 years agoAdded GProxy interface for proxy extension point
Nicolas Dufresne [Tue, 10 Aug 2010 19:24:37 +0000 (15:24 -0400)]
Added GProxy interface for proxy extension point

Implement an extension point for proxy protocol implementation. This
is mainly useful for socket-based proxy where it is possible to use the
proxied socket the same way it would for other stream based socket.

Reviewed-by: Dan Winship <danw@gnome.org>
14 years agoAdded method g_network_address_parse_uri()
Nicolas Dufresne [Tue, 10 Aug 2010 19:23:37 +0000 (15:23 -0400)]
Added method g_network_address_parse_uri()

This method allow creating a network address from a URI. If no port is
found in the URI, the default_port parameter will be used. Note that new
property scheme is there for future TLS implementation.

Reviewed-by: Dan Winship <danw@gnome.org>
14 years agoImplement GProxyAddress
Nicolas Dufresne [Mon, 26 Apr 2010 21:27:33 +0000 (17:27 -0400)]
Implement GProxyAddress

A GSocketInetAddress representing the proxy server address with additional
properties proxy type, destination address and port, username and password.

Reviewed-by: Dan Winship <danw@gnome.org>
14 years agoImplemented proxy sample code
Nicolas Dufresne [Fri, 7 May 2010 20:23:45 +0000 (16:23 -0400)]
Implemented proxy sample code

Reviewed-by: Dan Winship <danw@gnome.org>
14 years agoImplemented proxy-resolver extension point
Nicolas Dufresne [Fri, 7 May 2010 19:55:54 +0000 (15:55 -0400)]
Implemented proxy-resolver extension point

This extension point allow extending GLib with library like LibProxy that
interprets system proxy settings and finds the appropriate configuration
based on the type of connection being made.

Reviewed-by: Dan Winship <danw@gnome.org>
14 years agoUpdated Spanish translation
Jorge González [Thu, 19 Aug 2010 19:17:09 +0000 (21:17 +0200)]
Updated Spanish translation

14 years agoUpdated Hebrew translation.
Yaron Shahrabani [Thu, 19 Aug 2010 06:31:02 +0000 (09:31 +0300)]
Updated Hebrew translation.

14 years agoBug 627188 – gdbus-non-socket test occasionally fails
David Zeuthen [Wed, 18 Aug 2010 17:07:25 +0000 (13:07 -0400)]
Bug 627188 – gdbus-non-socket test occasionally fails

Fix logical bug in test case to avoid race condition between the
client and the server.

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoMake gunixcredentialsmessage.h standalone includable
Matthias Clasen [Wed, 18 Aug 2010 16:07:01 +0000 (12:07 -0400)]
Make gunixcredentialsmessage.h standalone includable

14 years agoaction: Minor fixes
Emmanuele Bassi [Wed, 18 Aug 2010 15:54:36 +0000 (16:54 +0100)]
action: Minor fixes

• Argument validation.

• Since: annotations.

• Remove (allow-none) annotations from return values.

• Coding style fixes.

14 years agoaction-group: Check aginst the correct GType macro
Emmanuele Bassi [Wed, 18 Aug 2010 15:54:11 +0000 (16:54 +0100)]
action-group: Check aginst the correct GType macro

G_TYPE_ACTION_GROUP is not a G_TYPE_ACTION.

14 years agoGDBusProxy: Call into well-known name if no name owner currently exists
David Zeuthen [Wed, 18 Aug 2010 15:35:25 +0000 (11:35 -0400)]
GDBusProxy: Call into well-known name if no name owner currently exists

This is really what (API) users expect from GDBusProxy - in
particular, mclasen and I ran into this problem while debugging a
upower issue, see

 https://bugzilla.redhat.com/show_bug.cgi?id=624125

In a nutshell, the problem is that polkitd crashes while upower holds
a PolkitAuthority object (which in turns contains a GDBusProxy for the
well-known name org.freedesktop.PolicyKit1). This means that
subsequent calls on the PolkitAuthority (which is translated into
calls into the GDBusProxy) fails since :g-name-owner is NULL.

With this fix, we'll be requesting the bus daemon to launch polkitd
since we will start calling into org.freedesktop.PolicyKit1 as soon as
we notice that there is no owner for this name.

Unfortunately our test suite doesn't cover service activation so there
is no way to reliably test this. I will file a bug about this.

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoGDBusProxy: Use %, not #, for referencing enum constants in gtk-doc comments
David Zeuthen [Wed, 18 Aug 2010 14:52:28 +0000 (10:52 -0400)]
GDBusProxy: Use %, not #, for referencing enum constants in gtk-doc comments

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoG_OPTION_FLAG_NO_ARG is only for callback options
Christian Persch [Tue, 17 Aug 2010 23:02:22 +0000 (01:02 +0200)]
G_OPTION_FLAG_NO_ARG is only for callback options

Bug #627252.

14 years agoadd GSimpleActionGroup
Ryan Lortie [Wed, 18 Aug 2010 06:15:09 +0000 (02:15 -0400)]
add GSimpleActionGroup

and a simple test

14 years agoadd some missed bits in the docs
Ryan Lortie [Wed, 18 Aug 2010 06:14:37 +0000 (02:14 -0400)]
add some missed bits in the docs

14 years agoadd gaction.h to gio.h
Ryan Lortie [Wed, 18 Aug 2010 05:56:34 +0000 (01:56 -0400)]
add gaction.h to gio.h

14 years agoadd testcase for GAction
Ryan Lortie [Wed, 18 Aug 2010 05:55:48 +0000 (01:55 -0400)]
add testcase for GAction

fix some small bugs it found

14 years agoadd GAction base class
Ryan Lortie [Wed, 18 Aug 2010 05:45:15 +0000 (01:45 -0400)]
add GAction base class

14 years agogio.symbols: Fix missed symbol name tweak
Ryan Lortie [Wed, 18 Aug 2010 05:07:07 +0000 (01:07 -0400)]
gio.symbols: Fix missed symbol name tweak

14 years agopad the GActionGroup vtable
Ryan Lortie [Wed, 18 Aug 2010 04:37:50 +0000 (00:37 -0400)]
pad the GActionGroup vtable

14 years agoAdd gactiongroup.h to gio.h
Ryan Lortie [Wed, 18 Aug 2010 04:33:17 +0000 (00:33 -0400)]
Add gactiongroup.h to gio.h

14 years agoadd GActionGroup base class
Ryan Lortie [Wed, 18 Aug 2010 04:30:44 +0000 (00:30 -0400)]
add GActionGroup base class

14 years agoupdate gio/tests/.gitignore
Dan Winship [Tue, 17 Aug 2010 22:38:34 +0000 (18:38 -0400)]
update gio/tests/.gitignore

14 years agoPlug a mem leak in GDBusWorker
Christian Persch [Tue, 17 Aug 2010 16:38:46 +0000 (18:38 +0200)]
Plug a mem leak in GDBusWorker

Free the read buffer.

==26538== 4,096 bytes in 1 blocks are definitely lost in loss record 781 of 781
==26538==    at 0x4005BDC: malloc (vg_replace_malloc.c:195)
==26538==    by 0x4005C66: realloc (vg_replace_malloc.c:476)
==26538==    by 0x405244D: g_realloc (gmem.c:181)
==26538==    by 0x420E066: _g_dbus_worker_do_read_unlocked (gdbusprivate.c:780)
==26538==    by 0x420E1D1: _g_dbus_worker_do_read (gdbusprivate.c:812)
==26538==    by 0x420F14A: _g_dbus_worker_thread_begin_func (gdbusprivate.c:1318)
==26538==    by 0x420D2ED: invoke_caller (gdbusprivate.c:266)
==26538==    by 0x404DA7C: g_idle_dispatch (gmain.c:4224)
==26538==    by 0x4049FCD: g_main_dispatch (gmain.c:2119)
==26538==    by 0x404B2C1: g_main_context_dispatch (gmain.c:2672)
==26538==    by 0x404B716: g_main_context_iterate (gmain.c:2750)
==26538==    by 0x404BE7F: g_main_loop_run (gmain.c:2958)
==26538==    by 0x420D2B5: shared_thread_func (gdbusprivate.c:248)
==26538==    by 0x4077958: g_thread_create_proxy (gthread.c:1897)
==26538==    by 0x57D918: start_thread (pthread_create.c:301)
==26538==    by 0x4C6CBD: clone (clone.S:133)

Bug #627187.

14 years agoPlug a mem leak in gdbus-connection test
Christian Persch [Tue, 17 Aug 2010 16:29:14 +0000 (18:29 +0200)]
Plug a mem leak in gdbus-connection test

==26538== 145 (24 direct, 121 indirect) bytes in 1 blocks are definitely lost in loss record 765 of 790
==26538==    at 0x4005BDC: malloc (vg_replace_malloc.c:195)
==26538==    by 0x405233C: g_malloc (gmem.c:134)
==26538==    by 0x406A57E: g_slice_alloc (gslice.c:836)
==26538==    by 0x406A60C: g_slice_copy (gslice.c:858)
==26538==    by 0x4035C5A: g_error_copy (gerror.c:160)
==26538==    by 0x41B6387: g_simple_async_result_set_from_error (gsimpleasyncresult.c:638)
==26538==    by 0x41FCDEB: g_dbus_connection_call_done (gdbusconnection.c:4808)
==26538==    by 0x41B682E: g_simple_async_result_complete (gsimpleasyncresult.c:762)
==26538==    by 0x41B686A: complete_in_idle_cb (gsimpleasyncresult.c:772)
==26538==    by 0x404DA7C: g_idle_dispatch (gmain.c:4224)
==26538==    by 0x4049FCD: g_main_dispatch (gmain.c:2119)
==26538==    by 0x404B2C1: g_main_context_dispatch (gmain.c:2672)
==26538==    by 0x404B716: g_main_context_iterate (gmain.c:2750)
==26538==    by 0x404BE7F: g_main_loop_run (gmain.c:2958)
==26538==    by 0x804B5CC: test_connection_send (gdbus-connection.c:407)
==26538==    by 0x4073D04: test_case_run (gtestutils.c:1174)

Bug #627187.

14 years agoPlug a mem leak in gdbus-connection test
Christian Persch [Tue, 17 Aug 2010 16:20:23 +0000 (18:20 +0200)]
Plug a mem leak in gdbus-connection test

==25403== 49 (24 direct, 25 indirect) bytes in 1 blocks are definitely lost in loss record 603 of 787
==25403==    at 0x4005BDC: malloc (vg_replace_malloc.c:195)
==25403==    by 0x405233C: g_malloc (gmem.c:134)
==25403==    by 0x406A57E: g_slice_alloc (gslice.c:836)
==25403==    by 0x406A5C3: g_slice_alloc0 (gslice.c:848)
==25403==    by 0x4035B4E: g_error_new_literal (gerror.c:117)
==25403==    by 0x4035ED9: g_set_error_literal (gerror.c:314)
==25403==    by 0x41F6434: g_dbus_connection_close_sync (gdbusconnection.c:1284)
==25403==    by 0x804A861: test_connection_life_cycle (gdbus-connection.c:158)
==25403==    by 0x4073D04: test_case_run (gtestutils.c:1174)
==25403==    by 0x4073FC2: g_test_run_suite_internal (gtestutils.c:1223)
==25403==    by 0x4074077: g_test_run_suite_internal (gtestutils.c:1233)
==25403==    by 0x4074077: g_test_run_suite_internal (gtestutils.c:1233)
==25403==    by 0x40741FB: g_test_run_suite (gtestutils.c:1274)
==25403==    by 0x40733E5: g_test_run (gtestutils.c:877)
==25403==    by 0x804DC92: main (gdbus-connection.c:1024)

Bug #627187.

14 years agoPlug a mem leak in the gdbus-connection test
Christian Persch [Tue, 17 Aug 2010 16:08:07 +0000 (18:08 +0200)]
Plug a mem leak in the gdbus-connection test

Bug #627182.

14 years agoUse g_memory_output_stream_steal_data here
Christian Persch [Sun, 20 Jun 2010 12:33:27 +0000 (14:33 +0200)]
Use g_memory_output_stream_steal_data here

... instead of one extra g_memdup().

Bug #627181.

14 years agoUse G_DEFINE_[BOXED|POINTER]_TYPE instead of handwritten code
Christian Persch [Sat, 24 May 2008 14:08:28 +0000 (16:08 +0200)]
Use G_DEFINE_[BOXED|POINTER]_TYPE instead of handwritten code

Now that we have convenience macros to implement boxed and pointer
types, use them.

14 years agoAdd G_DEFINE_{BOXED,POINTER}_TYPE[_WITH_CODE]
Christian Persch [Sat, 24 May 2008 14:08:04 +0000 (16:08 +0200)]
Add G_DEFINE_{BOXED,POINTER}_TYPE[_WITH_CODE]

Add convenience type definition macros for boxed and pointer types
similar to G_DEFINE_TYPE for object types. Bug #449565.

14 years agoAdd GZIP header processing to GZlibCompressor/GZlibDecompressor
Christian Persch [Thu, 13 May 2010 17:57:41 +0000 (19:57 +0200)]
Add GZIP header processing to GZlibCompressor/GZlibDecompressor

Add GZlibCompressor:file-info property. If it contains a non-NULL
GFileInfo, and the compressor is in GZIP mode, the filename and
modification time from the file info are written to the GZIP header
in the output data.

Add GZlibDeompressor:file-info property. If the decompressor is in GZIP
mode, and the GZIP data contains a GZIP header, the filename and
modification time are read from it, stored in a GFileInfo, and the
file-info property is notified.

Bug #617691.

14 years agoAdd g_memory_output_stream_steal_data
Christian Persch [Sun, 20 Jun 2010 12:32:52 +0000 (14:32 +0200)]
Add g_memory_output_stream_steal_data

Bug #622184.

14 years agoBump version
Matthias Clasen [Mon, 16 Aug 2010 20:36:38 +0000 (16:36 -0400)]
Bump version

14 years agoFix a typo 2.25.14
Matthias Clasen [Mon, 16 Aug 2010 19:44:40 +0000 (15:44 -0400)]
Fix a typo

14 years agoAdd NEWS item for bug 627071
David Zeuthen [Mon, 16 Aug 2010 19:42:23 +0000 (15:42 -0400)]
Add NEWS item for bug 627071

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoBug 627071 – g_output_stream_write() clarification
David Zeuthen [Mon, 16 Aug 2010 19:37:01 +0000 (15:37 -0400)]
Bug 627071 – g_output_stream_write() clarification

This patch guarantees that g_output_stream_write() can never fail with
G_IO_ERROR_WOULD_BLOCK. Without such a guarantee, we would need some
kind of GIOPollable interface or some way to get an event when the
stream is writable again. Which is mostly useless considering that
this method is asynchronous anyway.

Note: this patch just codifies existing behavior - GUnixOutputStream,
GSocketOutputStream and other implementations already work this way.

See also bug 626748 comment 5 for how the GDBus code relies on this
guarantee.

https://bugzilla.gnome.org/show_bug.cgi?id=627071

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoMore NEWS
Matthias Clasen [Mon, 16 Aug 2010 19:32:13 +0000 (15:32 -0400)]
More NEWS

14 years agoFix a doc format issue
Matthias Clasen [Mon, 16 Aug 2010 19:28:36 +0000 (15:28 -0400)]
Fix a doc format issue

14 years agoUpdate NEWS for 2.25.14
Matthias Clasen [Mon, 16 Aug 2010 19:16:16 +0000 (15:16 -0400)]
Update NEWS for 2.25.14

14 years agoBug 626748 – Use async methods for writing and handle EAGAIN
David Zeuthen [Mon, 16 Aug 2010 17:43:35 +0000 (13:43 -0400)]
Bug 626748 – Use async methods for writing and handle EAGAIN

If sending a lot of data and/or the other peer is not reading it, then
socket buffers can overflow. This is communicated from the kernel by
returning EAGAIN. In GIO, it is modelled by g_output_stream_write()
and g_socket_send_message() returning G_IO_ERROR_WOULD_BLOCK.

It is also problematic that that we're using synchronous IO in the
shared GDBus IO thread. It means that one GDBusConnection can lock up
others.

It turns out that by porting from g_output_stream_write() to
g_output_stream_write_async() we fix the EAGAIN issue. For GSocket, we
still need to handle things manually (by creating a GSource) as
g_socket_send_message() is used.

We check the new behavior in Michael's producer/consumer test case (at
/gdbus/overflow in gdbus-peer.c) added in the last commit.

Also add a test case that sends and receives a 20 MiB message.

Also add a new `transport' G_DBUS_DEBUG option so it is easy to
inspect partial writes:

 $ G_DBUS_DEBUG=transport ./gdbus-connection -p /gdbus/connection/large_message
 [...]
 ========================================================================
 GDBus-debug:Transport:
   >>>> WROTE 128000 bytes of message with serial 4 and
        size 20971669 from offset 0 on a GSocketOutputStream
 ========================================================================
 GDBus-debug:Transport:
   >>>> WROTE 128000 bytes of message with serial 4 and
        size 20971669 from offset 128000 on a GSocketOutputStream
 ========================================================================
 GDBus-debug:Transport:
   >>>> WROTE 128000 bytes of message with serial 4 and
        size 20971669 from offset 256000 on a GSocketOutputStream
 [...]
 ========================================================================
 GDBus-debug:Transport:
   >>>> WROTE 43669 bytes of message with serial 4 and
        size 20971669 from offset 20928000 on a GSocketOutputStream
 [...]
 ========================================================================
 GDBus-debug:Transport:
   <<<< READ 16 bytes of message with serial 3 and
        size 20971620 to offset 0 from a GSocketInputStream
 ========================================================================
 GDBus-debug:Transport:
   <<<< READ 15984 bytes of message with serial 3 and
        size 20971620 to offset 16 from a GSocketInputStream
 ========================================================================
 GDBus-debug:Transport:
   <<<< READ 16000 bytes of message with serial 3 and
        size 20971620 to offset 16000 from a GSocketInputStream
 [...]
 ========================================================================
 GDBus-debug:Transport:
   <<<< READ 144000 bytes of message with serial 3 and
        size 20971620 to offset 20720000 from a GSocketInputStream
 ========================================================================
 GDBus-debug:Transport:
   <<<< READ 107620 bytes of message with serial 3 and
        size 20971620 to offset 20864000 from a GSocketInputStream
 OK

https://bugzilla.gnome.org/show_bug.cgi?id=626748

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoGSocket: Properly initialize msg.msg_control
David Zeuthen [Mon, 16 Aug 2010 16:30:25 +0000 (12:30 -0400)]
GSocket: Properly initialize msg.msg_control

This patch fixes this problem

   Syscall param socketcall.sendmsg(msg.msg_control) points to uninitialised byte(s)
      at 0x3D5B00EA60: __sendmsg_nocancel (syscall-template.S:82)
      by 0x53F9790: g_socket_send_message (gsocket.c:2918)
      by 0x540FDD0: g_unix_connection_send_credentials (gunixconnection.c:351)
      by 0x542B93F: _g_dbus_auth_run_client (gdbusauth.c:618)
      by 0x5438001: initable_init (gdbusconnection.c:2191)
      by 0x53E09CC: g_initable_init (ginitable.c:105)
      by 0x543F6E9: g_bus_get_sync (gdbusconnection.c:6091)
      by 0x402C7E: test_connection_life_cycle (gdbus-connection.c:126)
      by 0x4C7CABB: test_case_run (gtestutils.c:1174)
      by 0x4C7CD84: g_test_run_suite_internal (gtestutils.c:1223)
      by 0x4C7CE49: g_test_run_suite_internal (gtestutils.c:1233)
      by 0x4C7CE49: g_test_run_suite_internal (gtestutils.c:1233)
    Address 0x7fefff9fc is on thread 1's stack

Signed-off-by: David Zeuthen <davidz@redhat.com>
14 years agoDeclare stream base classes as abstract
Matthias Clasen [Mon, 16 Aug 2010 14:21:38 +0000 (10:21 -0400)]
Declare stream base classes as abstract