Blob Blame History Raw
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>SoupAuthDomain: libsoup Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="libsoup Reference Manual">
<link rel="up" href="ch02.html" title="Core API">
<link rel="prev" href="SoupAuth.html" title="SoupAuth">
<link rel="next" href="SoupAuthDomainBasic.html" title="SoupAuthDomainBasic">
<meta name="generator" content="GTK-Doc V1.28.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
                  <a href="#SoupAuthDomain.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
                  <a href="#SoupAuthDomain.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties">  <span class="dim">|</span> 
                  <a href="#SoupAuthDomain.properties" class="shortcut">Properties</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="ch02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="SoupAuth.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="SoupAuthDomainBasic.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="SoupAuthDomain"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="SoupAuthDomain.top_of_page"></a>SoupAuthDomain</span></h2>
<p>SoupAuthDomain — Server-side authentication</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="SoupAuthDomain.functions"></a><h2>Functions</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
</colgroup>
<tbody>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="SoupAuthDomain.html#soup-auth-domain-add-path" title="soup_auth_domain_add_path ()">soup_auth_domain_add_path</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="SoupAuthDomain.html#soup-auth-domain-remove-path" title="soup_auth_domain_remove_path ()">soup_auth_domain_remove_path</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<span class="c_punctuation">(</span><a class="link" href="SoupAuthDomain.html#SoupAuthDomainFilter" title="SoupAuthDomainFilter ()">*SoupAuthDomainFilter</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="SoupAuthDomain.html#soup-auth-domain-set-filter" title="soup_auth_domain_set_filter ()">soup_auth_domain_set_filter</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">const <span class="returnvalue">char</span> *
</td>
<td class="function_name">
<a class="link" href="SoupAuthDomain.html#soup-auth-domain-get-realm" title="soup_auth_domain_get_realm ()">soup_auth_domain_get_realm</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<span class="c_punctuation">(</span><a class="link" href="SoupAuthDomain.html#SoupAuthDomainGenericAuthCallback" title="SoupAuthDomainGenericAuthCallback ()">*SoupAuthDomainGenericAuthCallback</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="SoupAuthDomain.html#soup-auth-domain-set-generic-auth-callback" title="soup_auth_domain_set_generic_auth_callback ()">soup_auth_domain_set_generic_auth_callback</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="SoupAuthDomain.html#soup-auth-domain-check-password" title="soup_auth_domain_check_password ()">soup_auth_domain_check_password</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="SoupAuthDomain.html#soup-auth-domain-covers" title="soup_auth_domain_covers ()">soup_auth_domain_covers</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">char</span> *
</td>
<td class="function_name">
<a class="link" href="SoupAuthDomain.html#soup-auth-domain-accepts" title="soup_auth_domain_accepts ()">soup_auth_domain_accepts</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="SoupAuthDomain.html#soup-auth-domain-challenge" title="soup_auth_domain_challenge ()">soup_auth_domain_challenge</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="SoupAuthDomain.properties"></a><h2>Properties</h2>
<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
<col width="200px" class="properties_flags">
</colgroup>
<tbody>
<tr>
<td class="property_type">
<span class="type">gchar</span> *</td>
<td class="property_name"><a class="link" href="SoupAuthDomain.html#SoupAuthDomain--add-path" title="The “add-path” property">add-path</a></td>
<td class="property_flags">Write</td>
</tr>
<tr>
<td class="property_type"><span class="type">gpointer</span></td>
<td class="property_name"><a class="link" href="SoupAuthDomain.html#SoupAuthDomain--filter" title="The “filter” property">filter</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><span class="type">gpointer</span></td>
<td class="property_name"><a class="link" href="SoupAuthDomain.html#SoupAuthDomain--filter-data" title="The “filter-data” property">filter-data</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><span class="type">gpointer</span></td>
<td class="property_name"><a class="link" href="SoupAuthDomain.html#SoupAuthDomain--generic-auth-callback" title="The “generic-auth-callback” property">generic-auth-callback</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><span class="type">gpointer</span></td>
<td class="property_name"><a class="link" href="SoupAuthDomain.html#SoupAuthDomain--generic-auth-data" title="The “generic-auth-data” property">generic-auth-data</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><span class="type">gboolean</span></td>
<td class="property_name"><a class="link" href="SoupAuthDomain.html#SoupAuthDomain--proxy" title="The “proxy” property">proxy</a></td>
<td class="property_flags">Read / Write / Construct Only</td>
</tr>
<tr>
<td class="property_type">
<span class="type">gchar</span> *</td>
<td class="property_name"><a class="link" href="SoupAuthDomain.html#SoupAuthDomain--realm" title="The “realm” property">realm</a></td>
<td class="property_flags">Read / Write / Construct Only</td>
</tr>
<tr>
<td class="property_type">
<span class="type">gchar</span> *</td>
<td class="property_name"><a class="link" href="SoupAuthDomain.html#SoupAuthDomain--remove-path" title="The “remove-path” property">remove-path</a></td>
<td class="property_flags">Write</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="SoupAuthDomain.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
</colgroup>
<tbody>
<tr>
<td class="datatype_keyword"> </td>
<td class="function_name"><a class="link" href="SoupAuthDomain.html#SoupAuthDomain-struct" title="SoupAuthDomain">SoupAuthDomain</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="SoupAuthDomain.html#SOUP-AUTH-DOMAIN-REALM:CAPS" title="SOUP_AUTH_DOMAIN_REALM">SOUP_AUTH_DOMAIN_REALM</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="SoupAuthDomain.html#SOUP-AUTH-DOMAIN-PROXY:CAPS" title="SOUP_AUTH_DOMAIN_PROXY">SOUP_AUTH_DOMAIN_PROXY</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="SoupAuthDomain.html#SOUP-AUTH-DOMAIN-ADD-PATH:CAPS" title="SOUP_AUTH_DOMAIN_ADD_PATH">SOUP_AUTH_DOMAIN_ADD_PATH</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="SoupAuthDomain.html#SOUP-AUTH-DOMAIN-REMOVE-PATH:CAPS" title="SOUP_AUTH_DOMAIN_REMOVE_PATH">SOUP_AUTH_DOMAIN_REMOVE_PATH</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="SoupAuthDomain.html#SOUP-AUTH-DOMAIN-FILTER:CAPS" title="SOUP_AUTH_DOMAIN_FILTER">SOUP_AUTH_DOMAIN_FILTER</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="SoupAuthDomain.html#SOUP-AUTH-DOMAIN-FILTER-DATA:CAPS" title="SOUP_AUTH_DOMAIN_FILTER_DATA">SOUP_AUTH_DOMAIN_FILTER_DATA</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="SoupAuthDomain.html#SOUP-AUTH-DOMAIN-GENERIC-AUTH-CALLBACK:CAPS" title="SOUP_AUTH_DOMAIN_GENERIC_AUTH_CALLBACK">SOUP_AUTH_DOMAIN_GENERIC_AUTH_CALLBACK</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="SoupAuthDomain.html#SOUP-AUTH-DOMAIN-GENERIC-AUTH-DATA:CAPS" title="SOUP_AUTH_DOMAIN_GENERIC_AUTH_DATA">SOUP_AUTH_DOMAIN_GENERIC_AUTH_DATA</a></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="SoupAuthDomain.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="screen">    GObject
    <span class="lineart">╰──</span> SoupAuthDomain
        <span class="lineart">├──</span> <a class="link" href="SoupAuthDomainBasic.html" title="SoupAuthDomainBasic">SoupAuthDomainBasic</a>
        <span class="lineart">╰──</span> <a class="link" href="SoupAuthDomainDigest.html" title="SoupAuthDomainDigest">SoupAuthDomainDigest</a>
</pre>
</div>
<div class="refsect1">
<a name="SoupAuthDomain.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;libsoup/soup.h&gt;
</pre>
</div>
<div class="refsect1">
<a name="SoupAuthDomain.description"></a><h2>Description</h2>
<p>A <a class="link" href="SoupAuthDomain.html" title="SoupAuthDomain"><span class="type">SoupAuthDomain</span></a> manages authentication for all or part of a
<a class="link" href="SoupServer.html" title="SoupServer"><span class="type">SoupServer</span></a>. To make a server require authentication, first create
an appropriate subclass of <a class="link" href="SoupAuthDomain.html" title="SoupAuthDomain"><span class="type">SoupAuthDomain</span></a>, and then add it to the
server with <a class="link" href="SoupServer.html#soup-server-add-auth-domain" title="soup_server_add_auth_domain ()"><code class="function">soup_server_add_auth_domain()</code></a>.</p>
<p>In order for an auth domain to have any effect, you must add one or
more paths to it (via <a class="link" href="SoupAuthDomain.html#soup-auth-domain-add-path" title="soup_auth_domain_add_path ()"><code class="function">soup_auth_domain_add_path()</code></a> or the
<a class="link" href="SoupAuthDomain.html#SOUP-AUTH-DOMAIN-ADD-PATH:CAPS" title="SOUP_AUTH_DOMAIN_ADD_PATH"><code class="literal">SOUP_AUTH_DOMAIN_ADD_PATH</code></a> property). To require authentication for
all ordinary requests, add the path "/". (Note that this does not
include the special "*" URI (eg, "OPTIONS *"), which must be added
as a separate path if you want to cover it.)</p>
<p>If you need greater control over which requests should and
shouldn't be authenticated, add paths covering everything you
<span class="emphasis"><em>might</em></span> want authenticated, and then use a
filter (<a class="link" href="SoupAuthDomain.html#soup-auth-domain-set-filter" title="soup_auth_domain_set_filter ()"><code class="function">soup_auth_domain_set_filter()</code></a>) to bypass authentication for
those requests that don't need it.</p>
</div>
<div class="refsect1">
<a name="SoupAuthDomain.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="soup-auth-domain-add-path"></a><h3>soup_auth_domain_add_path ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
soup_auth_domain_add_path (<em class="parameter"><code><a class="link" href="SoupAuthDomain.html" title="SoupAuthDomain"><span class="type">SoupAuthDomain</span></a> *domain</code></em>,
                           <em class="parameter"><code>const <span class="type">char</span> *path</code></em>);</pre>
<p>Adds <em class="parameter"><code>path</code></em>
 to <em class="parameter"><code>domain</code></em>
, such that requests under <em class="parameter"><code>path</code></em>
 on <em class="parameter"><code>domain</code></em>
's
server will require authentication (unless overridden by
<a class="link" href="SoupAuthDomain.html#soup-auth-domain-remove-path" title="soup_auth_domain_remove_path ()"><code class="function">soup_auth_domain_remove_path()</code></a> or <a class="link" href="SoupAuthDomain.html#soup-auth-domain-set-filter" title="soup_auth_domain_set_filter ()"><code class="function">soup_auth_domain_set_filter()</code></a>).</p>
<p>You can also add paths by setting the <a class="link" href="SoupAuthDomain.html#SOUP-AUTH-DOMAIN-ADD-PATH:CAPS" title="SOUP_AUTH_DOMAIN_ADD_PATH"><code class="literal">SOUP_AUTH_DOMAIN_ADD_PATH</code></a>
property, which can also be used to add one or more paths at
construct time.</p>
<div class="refsect3">
<a name="soup-auth-domain-add-path.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>domain</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupAuthDomain.html" title="SoupAuthDomain"><span class="type">SoupAuthDomain</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>path</p></td>
<td class="parameter_description"><p>the path to add to <em class="parameter"><code>domain</code></em>
</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="soup-auth-domain-remove-path"></a><h3>soup_auth_domain_remove_path ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
soup_auth_domain_remove_path (<em class="parameter"><code><a class="link" href="SoupAuthDomain.html" title="SoupAuthDomain"><span class="type">SoupAuthDomain</span></a> *domain</code></em>,
                              <em class="parameter"><code>const <span class="type">char</span> *path</code></em>);</pre>
<p>Removes <em class="parameter"><code>path</code></em>
 from <em class="parameter"><code>domain</code></em>
, such that requests under <em class="parameter"><code>path</code></em>
 on
<em class="parameter"><code>domain</code></em>
's server will NOT require authentication.</p>
<p>This is not simply an undo-er for <a class="link" href="SoupAuthDomain.html#soup-auth-domain-add-path" title="soup_auth_domain_add_path ()"><code class="function">soup_auth_domain_add_path()</code></a>; it
can be used to "carve out" a subtree that does not require
authentication inside a hierarchy that does. Note also that unlike
with <a class="link" href="SoupAuthDomain.html#soup-auth-domain-add-path" title="soup_auth_domain_add_path ()"><code class="function">soup_auth_domain_add_path()</code></a>, this cannot be overridden by
adding a filter, as filters can only bypass authentication that
would otherwise be required, not require it where it would
otherwise be unnecessary.</p>
<p>You can also remove paths by setting the
<a class="link" href="SoupAuthDomain.html#SOUP-AUTH-DOMAIN-REMOVE-PATH:CAPS" title="SOUP_AUTH_DOMAIN_REMOVE_PATH"><code class="literal">SOUP_AUTH_DOMAIN_REMOVE_PATH</code></a> property, which can also be used to
remove one or more paths at construct time.</p>
<div class="refsect3">
<a name="soup-auth-domain-remove-path.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>domain</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupAuthDomain.html" title="SoupAuthDomain"><span class="type">SoupAuthDomain</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>path</p></td>
<td class="parameter_description"><p>the path to remove from <em class="parameter"><code>domain</code></em>
</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="SoupAuthDomainFilter"></a><h3>SoupAuthDomainFilter ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
<span class="c_punctuation">(</span>*SoupAuthDomainFilter<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="SoupAuthDomain.html" title="SoupAuthDomain"><span class="type">SoupAuthDomain</span></a> *domain</code></em>,
                         <em class="parameter"><code><a class="link" href="SoupMessage.html" title="SoupMessage"><span class="type">SoupMessage</span></a> *msg</code></em>,
                         <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre>
<p>The prototype for a <a class="link" href="SoupAuthDomain.html" title="SoupAuthDomain"><span class="type">SoupAuthDomain</span></a> filter; see
<a class="link" href="SoupAuthDomain.html#soup-auth-domain-set-filter" title="soup_auth_domain_set_filter ()"><code class="function">soup_auth_domain_set_filter()</code></a> for details.</p>
<div class="refsect3">
<a name="SoupAuthDomainFilter.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>domain</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupAuthDomain.html" title="SoupAuthDomain"><span class="type">SoupAuthDomain</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>msg</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupMessage.html" title="SoupMessage"><span class="type">SoupMessage</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>the data passed to <a class="link" href="SoupAuthDomain.html#soup-auth-domain-set-filter" title="soup_auth_domain_set_filter ()"><code class="function">soup_auth_domain_set_filter()</code></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="SoupAuthDomainFilter.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> if <em class="parameter"><code>msg</code></em>
requires authentication, <code class="literal">FALSE</code> if not.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="soup-auth-domain-set-filter"></a><h3>soup_auth_domain_set_filter ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
soup_auth_domain_set_filter (<em class="parameter"><code><a class="link" href="SoupAuthDomain.html" title="SoupAuthDomain"><span class="type">SoupAuthDomain</span></a> *domain</code></em>,
                             <em class="parameter"><code><a class="link" href="SoupAuthDomain.html#SoupAuthDomainFilter" title="SoupAuthDomainFilter ()"><span class="type">SoupAuthDomainFilter</span></a> filter</code></em>,
                             <em class="parameter"><code><span class="type">gpointer</span> filter_data</code></em>,
                             <em class="parameter"><code><span class="type">GDestroyNotify</span> dnotify</code></em>);</pre>
<p>Adds <em class="parameter"><code>filter</code></em>
 as an authentication filter to <em class="parameter"><code>domain</code></em>
. The filter
gets a chance to bypass authentication for certain requests that
would otherwise require it. Eg, it might check the message's path
in some way that is too complicated to do via the other methods, or
it might check the message's method, and allow GETs but not PUTs.</p>
<p>The filter function returns <code class="literal">TRUE</code> if the request should still
require authentication, or <code class="literal">FALSE</code> if authentication is unnecessary
for this request.</p>
<p>To help prevent security holes, your filter should return <code class="literal">TRUE</code> by
default, and only return <code class="literal">FALSE</code> under specifically-tested
circumstances, rather than the other way around. Eg, in the example
above, where you want to authenticate PUTs but not GETs, you should
check if the method is GET and return <code class="literal">FALSE</code> in that case, and then
return <code class="literal">TRUE</code> for all other methods (rather than returning <code class="literal">TRUE</code> for
PUT and <code class="literal">FALSE</code> for all other methods). This way if it turned out
(now or later) that some paths supported additional methods besides
GET and PUT, those methods would default to being NOT allowed for
unauthenticated users.</p>
<p>You can also set the filter by setting the <a class="link" href="SoupAuthDomain.html#SOUP-AUTH-DOMAIN-FILTER:CAPS" title="SOUP_AUTH_DOMAIN_FILTER"><code class="literal">SOUP_AUTH_DOMAIN_FILTER</code></a>
and <a class="link" href="SoupAuthDomain.html#SOUP-AUTH-DOMAIN-FILTER-DATA:CAPS" title="SOUP_AUTH_DOMAIN_FILTER_DATA"><code class="literal">SOUP_AUTH_DOMAIN_FILTER_DATA</code></a> properties, which can also be
used to set the filter at construct time.</p>
<div class="refsect3">
<a name="soup-auth-domain-set-filter.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>domain</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupAuthDomain.html" title="SoupAuthDomain"><span class="type">SoupAuthDomain</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>filter</p></td>
<td class="parameter_description"><p>the auth filter for <em class="parameter"><code>domain</code></em>
</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>filter_data</p></td>
<td class="parameter_description"><p>data to pass to <em class="parameter"><code>filter</code></em>
</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>dnotify</p></td>
<td class="parameter_description"><p>destroy notifier to free <em class="parameter"><code>filter_data</code></em>
when <em class="parameter"><code>domain</code></em>
is destroyed</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="soup-auth-domain-get-realm"></a><h3>soup_auth_domain_get_realm ()</h3>
<pre class="programlisting">const <span class="returnvalue">char</span> *
soup_auth_domain_get_realm (<em class="parameter"><code><a class="link" href="SoupAuthDomain.html" title="SoupAuthDomain"><span class="type">SoupAuthDomain</span></a> *domain</code></em>);</pre>
<p>Gets the realm name associated with <em class="parameter"><code>domain</code></em>
</p>
<div class="refsect3">
<a name="soup-auth-domain-get-realm.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>domain</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupAuthDomain.html" title="SoupAuthDomain"><span class="type">SoupAuthDomain</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="soup-auth-domain-get-realm.returns"></a><h4>Returns</h4>
<p> <em class="parameter"><code>domain</code></em>
's realm</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="SoupAuthDomainGenericAuthCallback"></a><h3>SoupAuthDomainGenericAuthCallback ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
<span class="c_punctuation">(</span>*SoupAuthDomainGenericAuthCallback<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="SoupAuthDomain.html" title="SoupAuthDomain"><span class="type">SoupAuthDomain</span></a> *domain</code></em>,
                                      <em class="parameter"><code><a class="link" href="SoupMessage.html" title="SoupMessage"><span class="type">SoupMessage</span></a> *msg</code></em>,
                                      <em class="parameter"><code>const <span class="type">char</span> *username</code></em>,
                                      <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre>
<p>The prototype for a <a class="link" href="SoupAuthDomain.html" title="SoupAuthDomain"><span class="type">SoupAuthDomain</span></a> generic authentication callback.</p>
<p>The callback should look up the user's password, call
<a class="link" href="SoupAuthDomain.html#soup-auth-domain-check-password" title="soup_auth_domain_check_password ()"><code class="function">soup_auth_domain_check_password()</code></a>, and use the return value from
that method as its own return value.</p>
<p>In general, for security reasons, it is preferable to use the
auth-domain-specific auth callbacks (eg,
<a class="link" href="SoupAuthDomainBasic.html#SoupAuthDomainBasicAuthCallback" title="SoupAuthDomainBasicAuthCallback ()"><span class="type">SoupAuthDomainBasicAuthCallback</span></a> and
<a class="link" href="SoupAuthDomainDigest.html#SoupAuthDomainDigestAuthCallback" title="SoupAuthDomainDigestAuthCallback ()"><span class="type">SoupAuthDomainDigestAuthCallback</span></a>), because they don't require
keeping a cleartext password database. Most users will use the same
password for many different sites, meaning if any site with a
cleartext password database is compromised, accounts on other
servers might be compromised as well. For many of the cases where
<a class="link" href="SoupServer.html" title="SoupServer"><span class="type">SoupServer</span></a> is used, this is not really relevant, but it may still
be worth considering.</p>
<div class="refsect3">
<a name="SoupAuthDomainGenericAuthCallback.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>domain</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupAuthDomain.html" title="SoupAuthDomain"><span class="type">SoupAuthDomain</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>msg</p></td>
<td class="parameter_description"><p>the <a class="link" href="SoupMessage.html" title="SoupMessage"><span class="type">SoupMessage</span></a> being authenticated</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>username</p></td>
<td class="parameter_description"><p>the username from <em class="parameter"><code>msg</code></em>
</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>the data passed to
<a class="link" href="SoupAuthDomain.html#soup-auth-domain-set-generic-auth-callback" title="soup_auth_domain_set_generic_auth_callback ()"><code class="function">soup_auth_domain_set_generic_auth_callback()</code></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="SoupAuthDomainGenericAuthCallback.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> if <em class="parameter"><code>msg</code></em>
is authenticated, <code class="literal">FALSE</code> if not.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="soup-auth-domain-set-generic-auth-callback"></a><h3>soup_auth_domain_set_generic_auth_callback ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
soup_auth_domain_set_generic_auth_callback
                               (<em class="parameter"><code><a class="link" href="SoupAuthDomain.html" title="SoupAuthDomain"><span class="type">SoupAuthDomain</span></a> *domain</code></em>,
                                <em class="parameter"><code><a class="link" href="SoupAuthDomain.html#SoupAuthDomainGenericAuthCallback" title="SoupAuthDomainGenericAuthCallback ()"><span class="type">SoupAuthDomainGenericAuthCallback</span></a> auth_callback</code></em>,
                                <em class="parameter"><code><span class="type">gpointer</span> auth_data</code></em>,
                                <em class="parameter"><code><span class="type">GDestroyNotify</span> dnotify</code></em>);</pre>
<p>Sets <em class="parameter"><code>auth_callback</code></em>
 as an authentication-handling callback for
<em class="parameter"><code>domain</code></em>
. Whenever a request comes in to <em class="parameter"><code>domain</code></em>
 which cannot be
authenticated via a domain-specific auth callback (eg,
<a class="link" href="SoupAuthDomainDigest.html#SoupAuthDomainDigestAuthCallback" title="SoupAuthDomainDigestAuthCallback ()"><span class="type">SoupAuthDomainDigestAuthCallback</span></a>), the generic auth callback
will be invoked. See <a class="link" href="SoupAuthDomain.html#SoupAuthDomainGenericAuthCallback" title="SoupAuthDomainGenericAuthCallback ()"><span class="type">SoupAuthDomainGenericAuthCallback</span></a> for information
on what the callback should do.</p>
<div class="refsect3">
<a name="soup-auth-domain-set-generic-auth-callback.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>domain</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupAuthDomain.html" title="SoupAuthDomain"><span class="type">SoupAuthDomain</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>auth_callback</p></td>
<td class="parameter_description"><p>the auth callback</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>auth_data</p></td>
<td class="parameter_description"><p>data to pass to <em class="parameter"><code>auth_callback</code></em>
</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>dnotify</p></td>
<td class="parameter_description"><p>destroy notifier to free <em class="parameter"><code>auth_data</code></em>
when <em class="parameter"><code>domain</code></em>
is destroyed</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="soup-auth-domain-check-password"></a><h3>soup_auth_domain_check_password ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
soup_auth_domain_check_password (<em class="parameter"><code><a class="link" href="SoupAuthDomain.html" title="SoupAuthDomain"><span class="type">SoupAuthDomain</span></a> *domain</code></em>,
                                 <em class="parameter"><code><a class="link" href="SoupMessage.html" title="SoupMessage"><span class="type">SoupMessage</span></a> *msg</code></em>,
                                 <em class="parameter"><code>const <span class="type">char</span> *username</code></em>,
                                 <em class="parameter"><code>const <span class="type">char</span> *password</code></em>);</pre>
<p>Checks if <em class="parameter"><code>msg</code></em>
 authenticates to <em class="parameter"><code>domain</code></em>
 via <em class="parameter"><code>username</code></em>
 and
<em class="parameter"><code>password</code></em>
. This would normally be called from a
<a class="link" href="SoupAuthDomain.html#SoupAuthDomainGenericAuthCallback" title="SoupAuthDomainGenericAuthCallback ()"><span class="type">SoupAuthDomainGenericAuthCallback</span></a>.</p>
<div class="refsect3">
<a name="soup-auth-domain-check-password.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>domain</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupAuthDomain.html" title="SoupAuthDomain"><span class="type">SoupAuthDomain</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>msg</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupMessage.html" title="SoupMessage"><span class="type">SoupMessage</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>username</p></td>
<td class="parameter_description"><p>a username</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>password</p></td>
<td class="parameter_description"><p>a password</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="soup-auth-domain-check-password.returns"></a><h4>Returns</h4>
<p> whether or not the message is authenticated</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="soup-auth-domain-covers"></a><h3>soup_auth_domain_covers ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
soup_auth_domain_covers (<em class="parameter"><code><a class="link" href="SoupAuthDomain.html" title="SoupAuthDomain"><span class="type">SoupAuthDomain</span></a> *domain</code></em>,
                         <em class="parameter"><code><a class="link" href="SoupMessage.html" title="SoupMessage"><span class="type">SoupMessage</span></a> *msg</code></em>);</pre>
<p>Checks if <em class="parameter"><code>domain</code></em>
 requires <em class="parameter"><code>msg</code></em>
 to be authenticated (according to
its paths and filter function). This does not actually look at
whether <em class="parameter"><code>msg</code></em>
 <span class="emphasis"><em>is</em></span> authenticated, merely whether
or not it needs to be.</p>
<p>This is used by <a class="link" href="SoupServer.html" title="SoupServer"><span class="type">SoupServer</span></a> internally and is probably of no use to
anyone else.</p>
<div class="refsect3">
<a name="soup-auth-domain-covers.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>domain</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupAuthDomain.html" title="SoupAuthDomain"><span class="type">SoupAuthDomain</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>msg</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupMessage.html" title="SoupMessage"><span class="type">SoupMessage</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="soup-auth-domain-covers.returns"></a><h4>Returns</h4>
<p> <code class="literal">TRUE</code> if <em class="parameter"><code>domain</code></em>
requires <em class="parameter"><code>msg</code></em>
to be authenticated</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="soup-auth-domain-accepts"></a><h3>soup_auth_domain_accepts ()</h3>
<pre class="programlisting"><span class="returnvalue">char</span> *
soup_auth_domain_accepts (<em class="parameter"><code><a class="link" href="SoupAuthDomain.html" title="SoupAuthDomain"><span class="type">SoupAuthDomain</span></a> *domain</code></em>,
                          <em class="parameter"><code><a class="link" href="SoupMessage.html" title="SoupMessage"><span class="type">SoupMessage</span></a> *msg</code></em>);</pre>
<p>Checks if <em class="parameter"><code>msg</code></em>
 contains appropriate authorization for <em class="parameter"><code>domain</code></em>
 to
accept it. Mirroring <a class="link" href="SoupAuthDomain.html#soup-auth-domain-covers" title="soup_auth_domain_covers ()"><code class="function">soup_auth_domain_covers()</code></a>, this does not check
whether or not <em class="parameter"><code>domain</code></em>
 <span class="emphasis"><em>cares</em></span> if <em class="parameter"><code>msg</code></em>
 is
authorized.</p>
<p>This is used by <a class="link" href="SoupServer.html" title="SoupServer"><span class="type">SoupServer</span></a> internally and is probably of no use to
anyone else.</p>
<div class="refsect3">
<a name="soup-auth-domain-accepts.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>domain</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupAuthDomain.html" title="SoupAuthDomain"><span class="type">SoupAuthDomain</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>msg</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupMessage.html" title="SoupMessage"><span class="type">SoupMessage</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="soup-auth-domain-accepts.returns"></a><h4>Returns</h4>
<p>the username that <em class="parameter"><code>msg</code></em>
has authenticated
as, if in fact it has authenticated. <code class="literal">NULL</code> otherwise. </p>
<p><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="soup-auth-domain-challenge"></a><h3>soup_auth_domain_challenge ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
soup_auth_domain_challenge (<em class="parameter"><code><a class="link" href="SoupAuthDomain.html" title="SoupAuthDomain"><span class="type">SoupAuthDomain</span></a> *domain</code></em>,
                            <em class="parameter"><code><a class="link" href="SoupMessage.html" title="SoupMessage"><span class="type">SoupMessage</span></a> *msg</code></em>);</pre>
<p>Adds a "WWW-Authenticate" or "Proxy-Authenticate" header to <em class="parameter"><code>msg</code></em>
,
requesting that the client authenticate, and sets <em class="parameter"><code>msg</code></em>
's status
accordingly.</p>
<p>This is used by <a class="link" href="SoupServer.html" title="SoupServer"><span class="type">SoupServer</span></a> internally and is probably of no use to
anyone else.</p>
<div class="refsect3">
<a name="soup-auth-domain-challenge.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>domain</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupAuthDomain.html" title="SoupAuthDomain"><span class="type">SoupAuthDomain</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>msg</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupMessage.html" title="SoupMessage"><span class="type">SoupMessage</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
<div class="refsect1">
<a name="SoupAuthDomain.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="SoupAuthDomain-struct"></a><h3>SoupAuthDomain</h3>
<pre class="programlisting">typedef struct _SoupAuthDomain SoupAuthDomain;</pre>
</div>
<hr>
<div class="refsect2">
<a name="SOUP-AUTH-DOMAIN-REALM:CAPS"></a><h3>SOUP_AUTH_DOMAIN_REALM</h3>
<pre class="programlisting">#define SOUP_AUTH_DOMAIN_REALM       "realm"
</pre>
<p>Alias for the <a class="link" href="SoupAuthDomain.html#SoupAuthDomain--realm" title="The “realm” property"><span class="type">“realm”</span></a> property. (The realm of
this auth domain.)</p>
</div>
<hr>
<div class="refsect2">
<a name="SOUP-AUTH-DOMAIN-PROXY:CAPS"></a><h3>SOUP_AUTH_DOMAIN_PROXY</h3>
<pre class="programlisting">#define SOUP_AUTH_DOMAIN_PROXY       "proxy"
</pre>
<p>Alias for the <a class="link" href="SoupAuthDomain.html#SoupAuthDomain--proxy" title="The “proxy” property"><span class="type">“proxy”</span></a> property. (Whether or
not this is a proxy auth domain.)</p>
</div>
<hr>
<div class="refsect2">
<a name="SOUP-AUTH-DOMAIN-ADD-PATH:CAPS"></a><h3>SOUP_AUTH_DOMAIN_ADD_PATH</h3>
<pre class="programlisting">#define SOUP_AUTH_DOMAIN_ADD_PATH    "add-path"
</pre>
<p>Alias for the <a class="link" href="SoupAuthDomain.html#SoupAuthDomain--add-path" title="The “add-path” property"><span class="type">“add-path”</span></a> property. (Shortcut
for calling <a class="link" href="SoupAuthDomain.html#soup-auth-domain-add-path" title="soup_auth_domain_add_path ()"><code class="function">soup_auth_domain_add_path()</code></a>.)</p>
</div>
<hr>
<div class="refsect2">
<a name="SOUP-AUTH-DOMAIN-REMOVE-PATH:CAPS"></a><h3>SOUP_AUTH_DOMAIN_REMOVE_PATH</h3>
<pre class="programlisting">#define SOUP_AUTH_DOMAIN_REMOVE_PATH "remove-path"
</pre>
<p>Alias for the <a class="link" href="SoupAuthDomain.html#SoupAuthDomain--remove-path" title="The “remove-path” property"><span class="type">“remove-path”</span></a> property.
(Shortcut for calling <a class="link" href="SoupAuthDomain.html#soup-auth-domain-remove-path" title="soup_auth_domain_remove_path ()"><code class="function">soup_auth_domain_remove_path()</code></a>.)</p>
</div>
<hr>
<div class="refsect2">
<a name="SOUP-AUTH-DOMAIN-FILTER:CAPS"></a><h3>SOUP_AUTH_DOMAIN_FILTER</h3>
<pre class="programlisting">#define SOUP_AUTH_DOMAIN_FILTER      "filter"
</pre>
<p>Alias for the <a class="link" href="SoupAuthDomain.html#SoupAuthDomain--filter" title="The “filter” property"><span class="type">“filter”</span></a> property. (The
<a class="link" href="SoupAuthDomain.html#SoupAuthDomainFilter" title="SoupAuthDomainFilter ()"><span class="type">SoupAuthDomainFilter</span></a> for the domain.)</p>
</div>
<hr>
<div class="refsect2">
<a name="SOUP-AUTH-DOMAIN-FILTER-DATA:CAPS"></a><h3>SOUP_AUTH_DOMAIN_FILTER_DATA</h3>
<pre class="programlisting">#define SOUP_AUTH_DOMAIN_FILTER_DATA "filter-data"
</pre>
<p>Alias for the <a class="link" href="SoupAuthDomain.html#SoupAuthDomain--filter-data" title="The “filter-data” property"><span class="type">“filter-data”</span></a> property. (Data
to pass to the <a class="link" href="SoupAuthDomain.html#SoupAuthDomainFilter" title="SoupAuthDomainFilter ()"><span class="type">SoupAuthDomainFilter</span></a>.)</p>
</div>
<hr>
<div class="refsect2">
<a name="SOUP-AUTH-DOMAIN-GENERIC-AUTH-CALLBACK:CAPS"></a><h3>SOUP_AUTH_DOMAIN_GENERIC_AUTH_CALLBACK</h3>
<pre class="programlisting">#define SOUP_AUTH_DOMAIN_GENERIC_AUTH_CALLBACK "generic-auth-callback"
</pre>
<p>Alias for the <a class="link" href="SoupAuthDomain.html#SoupAuthDomain--generic-auth-callback" title="The “generic-auth-callback” property"><span class="type">“generic-auth-callback”</span></a> property.
(The <a class="link" href="SoupAuthDomain.html#SoupAuthDomainGenericAuthCallback" title="SoupAuthDomainGenericAuthCallback ()"><span class="type">SoupAuthDomainGenericAuthCallback</span></a>.)</p>
</div>
<hr>
<div class="refsect2">
<a name="SOUP-AUTH-DOMAIN-GENERIC-AUTH-DATA:CAPS"></a><h3>SOUP_AUTH_DOMAIN_GENERIC_AUTH_DATA</h3>
<pre class="programlisting">#define SOUP_AUTH_DOMAIN_GENERIC_AUTH_DATA     "generic-auth-data"
</pre>
<p>Alias for the <a class="link" href="SoupAuthDomain.html#SoupAuthDomain--generic-auth-data" title="The “generic-auth-data” property"><span class="type">“generic-auth-data”</span></a> property.
(The data to pass to the <a class="link" href="SoupAuthDomain.html#SoupAuthDomainGenericAuthCallback" title="SoupAuthDomainGenericAuthCallback ()"><span class="type">SoupAuthDomainGenericAuthCallback</span></a>.)</p>
</div>
</div>
<div class="refsect1">
<a name="SoupAuthDomain.property-details"></a><h2>Property Details</h2>
<div class="refsect2">
<a name="SoupAuthDomain--add-path"></a><h3>The <code class="literal">“add-path”</code> property</h3>
<pre class="programlisting">  “add-path”                 <span class="type">gchar</span> *</pre>
<p>Add a path covered by this auth domain.</p>
<p>Flags: Write</p>
<p>Default value: NULL</p>
</div>
<hr>
<div class="refsect2">
<a name="SoupAuthDomain--filter"></a><h3>The <code class="literal">“filter”</code> property</h3>
<pre class="programlisting">  “filter”                   <span class="type">gpointer</span></pre>
<p>A filter for deciding whether or not to require authentication.</p>
<p>Flags: Read / Write</p>
</div>
<hr>
<div class="refsect2">
<a name="SoupAuthDomain--filter-data"></a><h3>The <code class="literal">“filter-data”</code> property</h3>
<pre class="programlisting">  “filter-data”              <span class="type">gpointer</span></pre>
<p>Data to pass to filter.</p>
<p>Flags: Read / Write</p>
</div>
<hr>
<div class="refsect2">
<a name="SoupAuthDomain--generic-auth-callback"></a><h3>The <code class="literal">“generic-auth-callback”</code> property</h3>
<pre class="programlisting">  “generic-auth-callback”    <span class="type">gpointer</span></pre>
<p>An authentication callback that can be used with any SoupAuthDomain subclass.</p>
<p>Flags: Read / Write</p>
</div>
<hr>
<div class="refsect2">
<a name="SoupAuthDomain--generic-auth-data"></a><h3>The <code class="literal">“generic-auth-data”</code> property</h3>
<pre class="programlisting">  “generic-auth-data”        <span class="type">gpointer</span></pre>
<p>Data to pass to auth callback.</p>
<p>Flags: Read / Write</p>
</div>
<hr>
<div class="refsect2">
<a name="SoupAuthDomain--proxy"></a><h3>The <code class="literal">“proxy”</code> property</h3>
<pre class="programlisting">  “proxy”                    <span class="type">gboolean</span></pre>
<p>Whether or not this is a proxy auth domain.</p>
<p>Flags: Read / Write / Construct Only</p>
<p>Default value: FALSE</p>
</div>
<hr>
<div class="refsect2">
<a name="SoupAuthDomain--realm"></a><h3>The <code class="literal">“realm”</code> property</h3>
<pre class="programlisting">  “realm”                    <span class="type">gchar</span> *</pre>
<p>The realm of this auth domain.</p>
<p>Flags: Read / Write / Construct Only</p>
<p>Default value: NULL</p>
</div>
<hr>
<div class="refsect2">
<a name="SoupAuthDomain--remove-path"></a><h3>The <code class="literal">“remove-path”</code> property</h3>
<pre class="programlisting">  “remove-path”              <span class="type">gchar</span> *</pre>
<p>Remove a path covered by this auth domain.</p>
<p>Flags: Write</p>
<p>Default value: NULL</p>
</div>
</div>
<div class="refsect1">
<a name="SoupAuthDomain.see-also"></a><h2>See Also</h2>
<p><a class="link" href="SoupServer.html" title="SoupServer"><span class="type">SoupServer</span></a></p>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.28.1</div>
</body>
</html>