client: add function client_is_local()

This commit is contained in:
Max Kellermann 2012-02-13 20:00:33 +01:00
parent d98a863b82
commit 1d66e714e6
2 changed files with 12 additions and 1 deletions

View File

@ -45,6 +45,17 @@ bool client_is_expired(const struct client *client);
G_GNUC_PURE G_GNUC_PURE
int client_get_uid(const struct client *client); int client_get_uid(const struct client *client);
/**
* Is this client running on the same machine, connected with a local
* (UNIX domain) socket?
*/
G_GNUC_PURE
static inline bool
client_is_local(const struct client *client)
{
return client_get_uid(client) > 0;
}
G_GNUC_PURE G_GNUC_PURE
unsigned client_get_permission(const struct client *client); unsigned client_get_permission(const struct client *client);

View File

@ -451,7 +451,7 @@ static enum command_return
handle_urlhandlers(struct client *client, handle_urlhandlers(struct client *client,
G_GNUC_UNUSED int argc, G_GNUC_UNUSED char *argv[]) G_GNUC_UNUSED int argc, G_GNUC_UNUSED char *argv[])
{ {
if (client_get_uid(client) > 0) if (client_is_local(client))
client_puts(client, "handler: file://\n"); client_puts(client, "handler: file://\n");
print_supported_uri_schemes(client); print_supported_uri_schemes(client);
return COMMAND_RETURN_OK; return COMMAND_RETURN_OK;