diff options
author | Justus Winter <[email protected]> | 2016-03-02 13:14:33 +0000 |
---|---|---|
committer | Justus Winter <[email protected]> | 2016-03-02 13:14:33 +0000 |
commit | e77c85577d1bdd77ad3b81907145fd68f2653c01 (patch) | |
tree | 4c6fc3f74de8d0f052bdbd3ec0de407958be2821 /dirmngr/server.c | |
parent | dirmngr: Add missing CFLAGS. (diff) | |
download | gnupg-e77c85577d1bdd77ad3b81907145fd68f2653c01.tar.gz gnupg-e77c85577d1bdd77ad3b81907145fd68f2653c01.zip |
common: Consolidate Assuan server argument handling.
* common/Makefile.am (common_sources): Add new files.
* common/server-help.c: New file.
* common/server-help.h: Likewise.
* agent/command.c: Drop argument handling primitives in favor of using
the consolidated ones.
* dirmngr/server.c: Likewise.
* g10/server.c: Likewise.
* g13/server.c: Likewise.
* scd/command.c: Likewise.
* sm/server.c: Likewise.
Signed-off-by: Justus Winter <[email protected]>
Diffstat (limited to 'dirmngr/server.c')
-rw-r--r-- | dirmngr/server.c | 73 |
1 files changed, 1 insertions, 72 deletions
diff --git a/dirmngr/server.c b/dirmngr/server.c index 079450939..b97646881 100644 --- a/dirmngr/server.c +++ b/dirmngr/server.c @@ -53,6 +53,7 @@ #include "dns-stuff.h" #include "mbox-util.h" #include "zb32.h" +#include "server-help.h" /* To avoid DoS attacks we limit the size of a certificate to something reasonable. The DoS was actually only an issue back when @@ -273,78 +274,6 @@ strcpy_escaped_plus (char *d, const unsigned char *s) } -/* Check whether the option NAME appears in LINE */ -static int -has_option (const char *line, const char *name) -{ - const char *s; - int n = strlen (name); - - s = strstr (line, name); - return (s && (s == line || spacep (s-1)) && (!s[n] || spacep (s+n))); -} - -/* Same as has_option but only considers options at the begin of the - line. This is useful for commands which allow arbitrary strings on - the line. */ -static int -has_leading_option (const char *line, const char *name) -{ - const char *s; - int n; - - if (name[0] != '-' || name[1] != '-' || !name[2] || spacep (name+2)) - return 0; - n = strlen (name); - while ( *line == '-' && line[1] == '-' ) - { - s = line; - while (*line && !spacep (line)) - line++; - if (n == (line - s) && !strncmp (s, name, n)) - return 1; - while (spacep (line)) - line++; - } - return 0; -} - - -/* Same as has_option but does only test for the name of the option - and ignores an argument, i.e. with NAME being "--hash" it would - return a pointer for "--hash" as well as for "--hash=foo". If - thhere is no such option NULL is returned. The pointer returned - points right behind the option name, this may be an equal sign, Nul - or a space. */ -/* static const char * */ -/* has_option_name (const char *line, const char *name) */ -/* { */ -/* const char *s; */ -/* int n = strlen (name); */ - -/* s = strstr (line, name); */ -/* return (s && (s == line || spacep (s-1)) */ -/* && (!s[n] || spacep (s+n) || s[n] == '=')) ? (s+n) : NULL; */ -/* } */ - - -/* Skip over options. It is assumed that leading spaces have been - removed (this is the case for lines passed to a handler from - assuan). Blanks after the options are also removed. */ -static char * -skip_options (char *line) -{ - while ( *line == '-' && line[1] == '-' ) - { - while (*line && !spacep (line)) - line++; - while (spacep (line)) - line++; - } - return line; -} - - /* This fucntion returns true if a Tor server is running. The sattus is cached for the current conenction. */ static int |