[git] GnuPG - branch, master, updated. gnupg-2.1.13-102-g442efa9

by Werner Koch cvs at cvs.gnupg.org
Sat Jul 2 16:31:21 CEST 2016


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "The GNU Privacy Guard".

The branch, master has been updated
       via  442efa9b3ff211c692b6967a944b3d9371ad1bb7 (commit)
       via  aae3cdb61555db4efb26f522030c8303a731d4a9 (commit)
      from  7bfc86c938d11c14ea78b196c82ceba2a2f5317d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 442efa9b3ff211c692b6967a944b3d9371ad1bb7
Author: Werner Koch <wk at gnupg.org>
Date:   Sat Jul 2 16:18:50 2016 +0200

    doc: Describe filter expressions.
    
    * doc/gpg.texi: Remove some superfluous .E.
    (FILTER EXPRESSIONS): New.
    
    Signed-off-by: Werner Koch <wk at gnupg.org>

diff --git a/common/recsel.c b/common/recsel.c
index b35574f..5dc685f 100644
--- a/common/recsel.c
+++ b/common/recsel.c
@@ -133,7 +133,7 @@ find_next_lc (char *string)
 }
 
 
-/* Parse an expression.  The expression symtax is:
+/* Parse an expression.  The expression syntax is:
  *
  *   [<lc>] {{<flag>} PROPNAME <op> VALUE [<lc>]}
  *
@@ -161,8 +161,8 @@ find_next_lc (char *string)
  *   >=  The numerical value of the field must be GE than the value.
  *   -n  True if value is not empty (no VALUE parameter allowed).
  *   -z  True if value is empty (no VALUE parameter allowed).
- *   -t  Alias for "NAME != 0" (no VALUE parameter allowed).
- *   -f  Alias for "NAME == 0" (no VALUE parameter allowed).
+ *   -t  Alias for "PROPNAME != 0" (no VALUE parameter allowed).
+ *   -f  Alias for "PROPNAME == 0" (no VALUE parameter allowed).
  *
  * Values for <flag> must be space separated and any of:
  *
diff --git a/doc/gpg.texi b/doc/gpg.texi
index 7118e0d..7dff333 100644
--- a/doc/gpg.texi
+++ b/doc/gpg.texi
@@ -570,7 +570,7 @@ Use the source, Luke :-). The output format is still subject to change.
 
 
 @item --enarmor
- at item --dearmor
+ at itemx --dearmor
 @opindex enarmor
 @opindex dearmor
 Pack or unpack an arbitrary input into/from an OpenPGP ASCII armor.
@@ -2239,9 +2239,9 @@ The available filter types are:
 
 @end table
 
-The syntax for the expression is defined in the appendix (FIXME).  The
-property names for the expressions depend on the actual filter type
-and are indicated in the following table.
+For the syntax of the expression see the chapter "FILTER EXPRESSIONS".
+The property names for the expressions depend on the actual filter
+type and are indicated in the following table.
 
 The available properties are:
 
@@ -3238,7 +3238,6 @@ current home directory (@pxref{option --homedir}).
 
 @end table
 
- at c man:.RE
 Note that on larger installations, it is useful to put predefined files
 into the directory @file{@value{SYSCONFSKELDIR}} so that
 newly created users start up with a working configuration.
@@ -3313,7 +3312,6 @@ files; They all live in in the current home directory (@pxref{option
 
 @end table
 
- at c man:.RE
 Operation is further controlled by a few environment variables:
 
 @table @asis
@@ -3406,6 +3404,123 @@ user for the filename.
 @include specify-user-id.texi
 @end ifset
 
+ at mansect filter expressions
+ at chapheading FILTER EXPRESSIONS
+
+The options @option{--import-filter} and @option{--export-filter} use
+expressions with this syntax (square brackets indicate an optional
+part and curly braces a repetition, white space between the elements
+are allowed):
+
+ at c man:.RS
+ at example
+  [lc] @{[@{flag@}] PROPNAME op VALUE [lc]@}
+ at end example
+ at c man:.RE
+
+The name of a property (@var{PROPNAME}) may only consist of letters,
+digits and underscores.  The description for the filter type
+describes which properties are defined.  If an undefined property is
+used it evaluates to the empty string.  Unless otherwise noted, the
+ at var{VALUE} must always be given and may not be the empty string.  No
+quoting is defined for the value, thus the value may not contain the
+strings @code{&&} or @code{||}, which are used as logical connection
+operators.  The flag @code{--} can be used to remove this restriction.
+
+Numerical values are computed as long int; standard C notation
+applies.  @var{lc} is the logical connection operator; either
+ at code{&&} for a conjunction or @code{||} for a disjunction.  A
+conjunction is assumed at the begin of an expression.  Conjunctions
+have higher precedence than disjunctions.  If @var{VALUE} starts with
+one of the characters used in any @var{op} a space after the
+ at var{op} is required.
+
+ at noindent
+The supported operators (@var{op}) are:
+
+ at table @asis
+
+  @item =~
+  Substring must match.
+
+  @item  !~
+  Substring must not match.
+
+  @item  =
+  The full string must match.
+
+  @item  <>
+  The full string must not match.
+
+  @item  ==
+  The numerical value must match.
+
+  @item  !=
+  The numerical value must not match.
+
+  @item  <=
+  The numerical value of the field must be LE than the value.
+
+  @item  <
+  The numerical value of the field must be LT than the value.
+
+  @item  >=
+  The numerical value of the field must be GT than the value.
+
+  @item  >=
+  The numerical value of the field must be GE than the value.
+
+  @item  -n
+  True if value is not empty (no value allowed).
+
+  @item  -z
+  True if value is empty (no value allowed).
+
+  @item  -t
+  Alias for "PROPNAME != 0" (no value allowed).
+
+  @item  -f
+  Alias for "PROPNAME == 0" (no value allowed).
+
+ at end table
+
+ at noindent
+Values for @var{flag} must be space separated.  The supported flags
+are:
+
+ at table @asis
+  @item --
+  @var{VALUE} spans to the end of the expression.
+  @item -c
+  The string match in this part is done case-sensitive.
+ at end table
+
+The filter options concatenate several specifications for a filter of
+the same type.  For example the four options in this example:
+
+ at c man:.RS
+ at example
+ --import-option keep-uid="uid =~ Alfa"
+ --import-option keep-uid="&& uid !~ Test"
+ --import-option keep-uid="|| uid =~ Alpha"
+ --import-option keep-uid="uid !~ Test"
+ at end example
+ at c man:.RE
+
+ at noindent
+which is equivalent to
+
+ at c man:.RS
+ at example
+ --import-option \
+  keep-uid="uid =~ Alfa" && uid !~ Test" || uid =~ Alpha" && "uid !~ Test"
+ at end example
+ at c man:.RE
+
+imports only the user ids of a key containing the strings "Alfa"
+or "Alpha" but not the string "test".
+
+
 @mansect return value
 @chapheading RETURN VALUE
 

commit aae3cdb61555db4efb26f522030c8303a731d4a9
Author: Werner Koch <wk at gnupg.org>
Date:   Sat Jul 2 16:17:25 2016 +0200

    yat2m: Fix table formatting.
    
    * doc/yat2m.c (proc_texi_cmd): Use .TQ for @itemx.  Print a .P at the
    end of a level 0 table.
    
    Signed-off-by: Werner Koch <wk at gnupg.org>

diff --git a/doc/yat2m.c b/doc/yat2m.c
index 7599081..9b76f19 100644
--- a/doc/yat2m.c
+++ b/doc/yat2m.c
@@ -746,7 +746,7 @@ proc_texi_cmd (FILE *fp, const char *command, const char *rest, size_t len,
     { "subsection", 6, "\n.SS " },
     { "chapheading", 0},
     { "item",    2, ".TP\n.B " },
-    { "itemx",   2, ".TP\n.B " },
+    { "itemx",   2, ".TQ\n.B " },
     { "table",   3 },
     { "itemize",   3 },
     { "bullet",  0, "* " },
@@ -793,6 +793,8 @@ proc_texi_cmd (FILE *fp, const char *command, const char *rest, size_t len,
             {
               if ((*table_level)-- > 1)
                 fputs (".RE\n", fp);
+              else
+                fputs (".P\n", fp);
             }
           else if (n >= 7 && !memcmp (s, "example", 7)
               && (!n || s[7] == ' ' || s[7] == '\t' || s[7] == '\n'))

-----------------------------------------------------------------------

Summary of changes:
 common/recsel.c |   6 +--
 doc/gpg.texi    | 127 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
 doc/yat2m.c     |   4 +-
 3 files changed, 127 insertions(+), 10 deletions(-)


hooks/post-receive
-- 
The GNU Privacy Guard
http://git.gnupg.org




More information about the Gnupg-commits mailing list