<commit_before>/* libsecret - GLib wrapper for Secret Service
 *
 * Copyright 2012 <NAME>
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published
 * by the Free Software Foundation; either version 2.1 of the licence or (at
 * your option) any later version.
 *
 * See the included COPYING file for more information.
 *
 * Author: <NAME> <<EMAIL>>
 */

#include "config.h"

#include "secret-schema.h"

/**
 * SECRET_SCHEMA_NOTE:
 *
 * A predefined schema for personal passwords stored by the user in the
 * password manager. This schema has no attributes, and the items are not
 * meant to be used automatically by applications.
 */

static const SecretSchema note_schema = {
	"org.gnome.keyring.Note",
	SECRET_SCHEMA_DONT_MATCH_NAME,
	{
		{  "NULL", 0 },
	}
};

const SecretSchema *  SECRET_SCHEMA_NOTE = &note_schema;

/**
 * SECRET_SCHEMA_COMPAT_NETWORK:
 *
 * A predefined schema that is compatible with items stored via the
 * libgnome-keyring 'network password' functions. This is meant to be used by
 * applications migrating from libgnome-keyring which stored their secrets as
 * 'network passwords'. It is not recommended that new code use this schema.
 *
 * The following attributes exist in the schema:
 * <variablelist><title>Attributes:</title>
 *     <varlistentry><term><literal>user</literal>:</term>
 *         <listitem><para>The user name (string).</para></listitem></varlistentry>
 *     <varlistentry><term><literal>domain</literal>:</term>
 *         <listitem><para>The login domain or realm (string).</para></listitem></varlistentry>
 *     <varlistentry><term><literal>object</literal>:</term>
 *         <listitem><para>The object or path (string).</para></listitem></varlistentry>
 *     <varlistentry><term><literal>protocol</literal>:</term>
 *         <listitem><para>The protocol (a string like 'http').</para></listitem></varlistentry>
 *     <varlistentry><term><literal>port</literal>:</term>
 *         <listitem><para>The network port (integer).</para></listitem></varlistentry>
 *     <varlistentry><term><literal>server</literal>:</term>
 *         <listitem><para>The hostname or server (string).</para></listitem></varlistentry>
 *     <varlistentry><term><literal>authtype</literal>:</term>
 *         <listitem><para>The authentication type (string).</para></listitem></varlistentry>
 * </variablelist>
 */

static const SecretSchema network_schema = {
	"org.gnome.keyring.NetworkPassword",
	SECRET_SCHEMA_DONT_MATCH_NAME,
	{
		{  "user", SECRET_SCHEMA_ATTRIBUTE_STRING },
		{  "domain", SECRET_SCHEMA_ATTRIBUTE_STRING },
		{  "object", SECRET_SCHEMA_ATTRIBUTE_STRING },
		{  "protocol", SECRET_SCHEMA_ATTRIBUTE_STRING },
		{  "port", SECRET_SCHEMA_ATTRIBUTE_INTEGER },
		{  "server", SECRET_SCHEMA_ATTRIBUTE_STRING },
		{  "authtype", SECRET_SCHEMA_ATTRIBUTE_STRING },
		{  "NULL", 0 },
	}
};

const SecretSchema *  SECRET_SCHEMA_COMPAT_NETWORK = &network_schema;<commit_msg>Match schema names for notes and network passwords<commit_after>/* libsecret - GLib wrapper for Secret Service
 *
 * Copyright 2012 <NAME>
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published
 * by the Free Software Foundation; either version 2.1 of the licence or (at
 * your option) any later version.
 *
 * See the included COPYING file for more information.
 *
 * Author: <NAME> <<EMAIL>>
 */

#include "config.h"

#include "secret-schema.h"

/**
 * SECRET_SCHEMA_NOTE:
 *
 * A predefined schema for personal passwords stored by the user in the
 * password manager. This schema has no attributes, and the items are not
 * meant to be used automatically by applications.
 *
 * When used to search for items using this schema, it will only match
 * items that have the same schema. Items stored via libgnome-keyring with the
 * <literal>GNOME_KEYRING_ITEM_NOTE</literal> item type will match.
 */

static const SecretSchema note_schema = {
	"org.gnome.keyring.Note",
	SECRET_SCHEMA_NONE,
	{
		{  "NULL", 0 },
	}
};

const SecretSchema *  SECRET_SCHEMA_NOTE = &note_schema;

/**
 * SECRET_SCHEMA_COMPAT_NETWORK:
 *
 * A predefined schema that is compatible with items stored via the
 * libgnome-keyring 'network password' functions. This is meant to be used by
 * applications migrating from libgnome-keyring which stored their secrets as
 * 'network passwords'. It is not recommended that new code use this schema.
 *
 * When used to search for items using this schema, it will only match
 * items that have the same schema. Items stored via libgnome-keyring with the
 * <literal>GNOME_KEYRING_ITEM_NETWORK_PASSWORD</literal> item type will match.
 *
 * The following attributes exist in the schema:
 * <variablelist><title>Attributes:</title>
 *     <varlistentry><term><literal>user</literal>:</term>
 *         <listitem><para>The user name (string).</para></listitem></varlistentry>
 *     <varlistentry><term><literal>domain</literal>:</term>
 *         <listitem><para>The login domain or realm (string).</para></listitem></varlistentry>
 *     <varlistentry><term><literal>object</literal>:</term>
 *         <listitem><para>The object or path (string).</para></listitem></varlistentry>
 *     <varlistentry><term><literal>protocol</literal>:</term>
 *         <listitem><para>The protocol (a string like 'http').</para></listitem></varlistentry>
 *     <varlistentry><term><literal>port</literal>:</term>
 *         <listitem><para>The network port (integer).</para></listitem></varlistentry>
 *     <varlistentry><term><literal>server</literal>:</term>
 *         <listitem><para>The hostname or server (string).</para></listitem></varlistentry>
 *     <varlistentry><term><literal>authtype</literal>:</term>
 *         <listitem><para>The authentication type (string).</para></listitem></varlistentry>
 * </variablelist>
 */

static const SecretSchema network_schema = {
	"org.gnome.keyring.NetworkPassword",
	SECRET_SCHEMA_NONE,
	{
		{  "user", SECRET_SCHEMA_ATTRIBUTE_STRING },
		{  "domain", SECRET_SCHEMA_ATTRIBUTE_STRING },
		{  "object", SECRET_SCHEMA_ATTRIBUTE_STRING },
		{  "protocol", SECRET_SCHEMA_ATTRIBUTE_STRING },
		{  "port", SECRET_SCHEMA_ATTRIBUTE_INTEGER },
		{  "server", SECRET_SCHEMA_ATTRIBUTE_STRING },
		{  "authtype", SECRET_SCHEMA_ATTRIBUTE_STRING },
		{  "NULL", 0 },
	}
};

const SecretSchema *  SECRET_SCHEMA_COMPAT_NETWORK = &network_schema;
{'fraction_non_alphanumeric': 0.12813799476359156, 'fraction_numerical': 0.0024641922069921452, 'mean_word_length': 4.438860971524288, 'pattern_counts': {'":': 0, '<': 163, '<?xml version=': 0, '>': 163, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7558223', 'n_tokens_mistral': 2064, 'n_tokens_neox': 2010, 'n_words': 528}