summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon McVittie <simon.mcvittie@collabora.co.uk>2010-09-15 12:35:35 +0100
committerSimon McVittie <simon.mcvittie@collabora.co.uk>2010-09-15 12:35:35 +0100
commit3c314712eb6cb32a3814274000c4c580ea28c191 (patch)
tree31caa118b56a61dde11582f224ef5e764fcdbc1f
parent9630ffbecf8c5c2aae9380fe1d3001c6292f2f24 (diff)
downloadtelepathy-glib-3c314712eb6cb32a3814274000c4c580ea28c191.tar.gz
Generate code for TLS channels
-rw-r--r--docs/reference/telepathy-glib-sections.txt51
-rw-r--r--telepathy-glib/Makefile.am1
-rw-r--r--telepathy-glib/channel.xml1
-rw-r--r--telepathy-glib/codegen.am9
-rw-r--r--telepathy-glib/extra-gtkdoc.h12
-rw-r--r--telepathy-glib/stable-interfaces.xml2
-rw-r--r--telepathy-glib/svc-tls.h6
-rw-r--r--telepathy-glib/tls-cert.xml9
8 files changed, 88 insertions, 3 deletions
diff --git a/docs/reference/telepathy-glib-sections.txt b/docs/reference/telepathy-glib-sections.txt
index 2507d1399..f6b90f8ba 100644
--- a/docs/reference/telepathy-glib-sections.txt
+++ b/docs/reference/telepathy-glib-sections.txt
@@ -1439,6 +1439,10 @@ TP_ARRAY_TYPE_DISPATCH_OPERATION_DETAILS_LIST
# Debug
TP_STRUCT_TYPE_DEBUG_MESSAGE
TP_ARRAY_TYPE_DEBUG_MESSAGE_LIST
+<SUBSECTION>
+# TLS
+TP_STRUCT_TYPE_TLS_CERTIFICATE_REJECTION
+TP_ARRAY_TYPE_TLS_CERTIFICATE_REJECTION_LIST
<SUBSECTION Private>
tp_type_dbus_array__28us_29as
tp_type_dbus_array_a_7bsv_7das
@@ -2196,6 +2200,10 @@ TpServicePointType
NUM_TP_SERVICE_POINT_TYPES
TpAnonymityModeFlags
TpStorageRestrictionFlags
+TpTLSCertificateRejectReason
+NUM_TP_TLS_CERTIFICATE_REJECT_REASONS
+TpTLSCertificateState
+NUM_TP_TLS_CERTIFICATE_STATES
</SECTION>
<SECTION>
@@ -2210,6 +2218,8 @@ TP_IFACE_ACCOUNT_INTERFACE_STORAGE
TP_IFACE_QUARK_ACCOUNT_INTERFACE_STORAGE
TP_IFACE_ACCOUNT_MANAGER
TP_IFACE_QUARK_ACCOUNT_MANAGER
+TP_IFACE_AUTHENTICATION_TLS_CERTIFICATE
+TP_IFACE_QUARK_AUTHENTICATION_TLS_CERTIFICATE
TP_IFACE_DBUS_DAEMON
TP_IFACE_QUARK_DBUS_DAEMON
TP_IFACE_DBUS_INTROSPECTABLE
@@ -2262,6 +2272,8 @@ TP_IFACE_CHANNEL_TYPE_CONTACT_SEARCH
TP_IFACE_QUARK_CHANNEL_TYPE_CONTACT_SEARCH
TP_IFACE_CHANNEL_TYPE_FILE_TRANSFER
TP_IFACE_QUARK_CHANNEL_TYPE_FILE_TRANSFER
+TP_IFACE_CHANNEL_TYPE_SERVER_TLS_CONNECTION
+TP_IFACE_QUARK_CHANNEL_TYPE_SERVER_TLS_CONNECTION
TP_IFACE_CHANNEL_TYPE_STREAMED_MEDIA
TP_IFACE_QUARK_CHANNEL_TYPE_STREAMED_MEDIA
TP_IFACE_CHANNEL_TYPE_ROOM_LIST
@@ -2355,6 +2367,10 @@ TP_PROP_ACCOUNT_PARAMETERS
TP_PROP_ACCOUNT_REQUESTED_PRESENCE
TP_PROP_ACCOUNT_SERVICE
TP_PROP_ACCOUNT_VALID
+TP_PROP_AUTHENTICATION_TLS_CERTIFICATE_CERTIFICATE_CHAIN_DATA
+TP_PROP_AUTHENTICATION_TLS_CERTIFICATE_CERTIFICATE_TYPE
+TP_PROP_AUTHENTICATION_TLS_CERTIFICATE_REJECTIONS
+TP_PROP_AUTHENTICATION_TLS_CERTIFICATE_STATE
TP_PROP_CHANNEL_CHANNEL_TYPE
TP_PROP_CHANNEL_DISPATCHER_INTERFACES
TP_PROP_CHANNEL_DISPATCHER_INTERFACE_OPERATION_LIST_DISPATCH_OPERATIONS
@@ -2421,6 +2437,8 @@ TP_PROP_CHANNEL_TYPE_FILE_TRANSFER_SIZE
TP_PROP_CHANNEL_TYPE_FILE_TRANSFER_STATE
TP_PROP_CHANNEL_TYPE_FILE_TRANSFER_TRANSFERRED_BYTES
TP_PROP_CHANNEL_TYPE_ROOM_LIST_SERVER
+TP_PROP_CHANNEL_TYPE_SERVER_TLS_CONNECTION_HOSTNAME
+TP_PROP_CHANNEL_TYPE_SERVER_TLS_CONNECTION_SERVER_CERTIFICATE
TP_PROP_CHANNEL_TYPE_STREAMED_MEDIA_IMMUTABLE_STREAMS
TP_PROP_CHANNEL_TYPE_STREAMED_MEDIA_INITIAL_AUDIO
TP_PROP_CHANNEL_TYPE_STREAMED_MEDIA_INITIAL_VIDEO
@@ -2495,6 +2513,7 @@ tp_iface_quark_account
tp_iface_quark_account_interface_avatar
tp_iface_quark_account_interface_storage
tp_iface_quark_account_manager
+tp_iface_quark_authentication_tls_certificate
tp_iface_quark_dbus_introspectable
tp_iface_quark_dbus_peer
tp_iface_quark_dbus_properties
@@ -2514,6 +2533,7 @@ tp_iface_quark_channel_type_contact_list
tp_iface_quark_channel_type_contact_search
tp_iface_quark_channel_type_file_transfer
tp_iface_quark_channel_type_room_list
+tp_iface_quark_channel_type_server_tls_connection
tp_iface_quark_channel_type_streamed_media
tp_iface_quark_channel_type_text
tp_iface_quark_channel_type_tubes
@@ -4439,3 +4459,34 @@ TP_IS_ACCOUNT_CHANNEL_REQUEST
TP_IS_ACCOUNT_CHANNEL_REQUEST_CLASS
TP_TYPE_ACCOUNT_CHANNEL_REQUEST
</SECTION>
+
+<SECTION>
+<FILE>svc-tls</FILE>
+<TITLE>svc-tls</TITLE>
+<INCLUDE>telepathy-glib/svc-channel.h,telepathy-glib/svc-tls.h</INCLUDE>
+<SUBSECTION>
+TpSvcChannelTypeServerTLSConnection
+TpSvcChannelTypeServerTLSConnectionClass
+<SUBSECTION>
+TpSvcAuthenticationTLSCertificate
+TpSvcAuthenticationTLSCertificateClass
+tp_svc_authentication_tls_certificate_accept_impl
+tp_svc_authentication_tls_certificate_return_from_accept
+tp_svc_authentication_tls_certificate_implement_accept
+tp_svc_authentication_tls_certificate_emit_accepted
+tp_svc_authentication_tls_certificate_reject_impl
+tp_svc_authentication_tls_certificate_return_from_reject
+tp_svc_authentication_tls_certificate_implement_reject
+tp_svc_authentication_tls_certificate_emit_rejected
+<SUBSECTION Standard>
+TP_IS_SVC_AUTHENTICATION_TLS_CERTIFICATE
+TP_IS_SVC_CHANNEL_TYPE_SERVER_TLS_CONNECTION
+TP_SVC_AUTHENTICATION_TLS_CERTIFICATE
+TP_SVC_AUTHENTICATION_TLS_CERTIFICATE_GET_CLASS
+TP_SVC_CHANNEL_TYPE_SERVER_TLS_CONNECTION
+TP_SVC_CHANNEL_TYPE_SERVER_TLS_CONNECTION_GET_CLASS
+TP_TYPE_SVC_AUTHENTICATION_TLS_CERTIFICATE
+TP_TYPE_SVC_CHANNEL_TYPE_SERVER_TLS_CONNECTION
+tp_svc_authentication_tls_certificate_get_type
+tp_svc_channel_type_server_tls_connection_get_type
+</SECTION>
diff --git a/telepathy-glib/Makefile.am b/telepathy-glib/Makefile.am
index fefef3685..39c15a095 100644
--- a/telepathy-glib/Makefile.am
+++ b/telepathy-glib/Makefile.am
@@ -92,6 +92,7 @@ our_headers = \
svc-media-interfaces.h \
svc-properties-interface.h \
svc-protocol.h \
+ svc-tls.h \
telepathy-glib.h \
text-mixin.h \
util.h
diff --git a/telepathy-glib/channel.xml b/telepathy-glib/channel.xml
index d0ed34d8d..92b842864 100644
--- a/telepathy-glib/channel.xml
+++ b/telepathy-glib/channel.xml
@@ -15,6 +15,7 @@
<xi:include href="../spec/Channel_Type_Tubes.xml"/>
<xi:include href="../spec/Channel_Type_Stream_Tube.xml"/>
<xi:include href="../spec/Channel_Type_DBus_Tube.xml"/>
+<xi:include href="../spec/Channel_Type_Server_TLS_Connection.xml"/>
<xi:include href="../spec/Channel_Interface_Anonymity.xml"/>
<xi:include href="../spec/Channel_Interface_Call_State.xml"/>
diff --git a/telepathy-glib/codegen.am b/telepathy-glib/codegen.am
index b7fb82a0d..d82af79d1 100644
--- a/telepathy-glib/codegen.am
+++ b/telepathy-glib/codegen.am
@@ -21,7 +21,8 @@ codegen_extra_dist = \
media-session-handler.xml \
media-stream-handler.xml \
protocol.xml \
- stable-interfaces.xml
+ stable-interfaces.xml \
+ tls-cert.xml
codegen_sources = \
$(nodist_libtelepathy_glib_internal_la_SOURCES) \
@@ -63,7 +64,8 @@ nodist_geninclude_HEADERS = \
_gen/tp-svc-generic.h \
_gen/tp-svc-media-session-handler.h \
_gen/tp-svc-media-stream-handler.h \
- _gen/tp-svc-protocol.h
+ _gen/tp-svc-protocol.h \
+ _gen/tp-svc-tls-cert.h
nodist_libtelepathy_glib_internal_la_SOURCES = \
_gen/error-str.c \
@@ -102,7 +104,8 @@ nodist_libtelepathy_glib_internal_la_SOURCES = \
_gen/tp-svc-generic.c \
_gen/tp-svc-media-session-handler.c \
_gen/tp-svc-media-stream-handler.c \
- _gen/tp-svc-protocol.c
+ _gen/tp-svc-protocol.c \
+ _gen/tp-svc-tls-cert.c
# Generated stuff
diff --git a/telepathy-glib/extra-gtkdoc.h b/telepathy-glib/extra-gtkdoc.h
index 392e9d596..d6ae1fc8a 100644
--- a/telepathy-glib/extra-gtkdoc.h
+++ b/telepathy-glib/extra-gtkdoc.h
@@ -812,3 +812,15 @@
*
* Since: 0.11.11
*/
+
+/**
+ * SECTION:svc-tls
+ * @title: Service-side TLS interfaces
+ * @short_description: GInterfaces to implement Chan.T.ServerTLSConnection
+ *
+ * Channel.Type.ServerTLSConnection can be handled by clients to check
+ * servers' TLS certificates interactively. The actual certificates are
+ * represented by a separate TLSCertificate object.
+ *
+ * Since: 0.11.UNRELEASED
+ */
diff --git a/telepathy-glib/stable-interfaces.xml b/telepathy-glib/stable-interfaces.xml
index dbab55e77..9662d0807 100644
--- a/telepathy-glib/stable-interfaces.xml
+++ b/telepathy-glib/stable-interfaces.xml
@@ -24,6 +24,8 @@
<xi:include href="debug.xml"/>
+<xi:include href="tls-cert.xml"/>
+
<xi:include href="../spec/generic-types.xml"/>
<xi:include href="../spec/errors.xml"/>
diff --git a/telepathy-glib/svc-tls.h b/telepathy-glib/svc-tls.h
new file mode 100644
index 000000000..90e41aee6
--- /dev/null
+++ b/telepathy-glib/svc-tls.h
@@ -0,0 +1,6 @@
+#ifndef __TP_META_SVC_TLS_H__
+#define __TP_META_SVC_TLS_H__
+
+#include <telepathy-glib/_gen/tp-svc-tls.h>
+
+#endif
diff --git a/telepathy-glib/tls-cert.xml b/telepathy-glib/tls-cert.xml
new file mode 100644
index 000000000..0ba3d2d06
--- /dev/null
+++ b/telepathy-glib/tls-cert.xml
@@ -0,0 +1,9 @@
+<tp:spec
+ xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"
+ xmlns:xi="http://www.w3.org/2001/XInclude">
+
+<tp:title>TLSCertificate</tp:title>
+
+<xi:include href="../spec/Authentication_TLS_Certificate.xml"/>
+
+</tp:spec>