]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
Move libopts/ to src/libopts/. Drop gaa remains.
authorSimon Josefsson <simon@josefsson.org>
Tue, 24 Jan 2012 13:48:20 +0000 (14:48 +0100)
committerSimon Josefsson <simon@josefsson.org>
Tue, 24 Jan 2012 13:57:19 +0000 (14:57 +0100)
63 files changed:
Makefile.am
configure.ac
libopts/Makefile.am [deleted file]
src/Makefile.am
src/cli-gaa.c [deleted file]
src/cli-gaa.h [deleted file]
src/libopts/COPYING.gplv3 [moved from libopts/COPYING.gplv3 with 100% similarity]
src/libopts/COPYING.lgplv3 [moved from libopts/COPYING.lgplv3 with 100% similarity]
src/libopts/COPYING.mbsd [moved from libopts/COPYING.mbsd with 100% similarity]
src/libopts/MakeDefs.inc [moved from libopts/MakeDefs.inc with 100% similarity]
src/libopts/Makefile.am [new file with mode: 0644]
src/libopts/README [moved from libopts/README with 100% similarity]
src/libopts/ag-char-map.h [moved from libopts/ag-char-map.h with 100% similarity]
src/libopts/autoopts.c [moved from libopts/autoopts.c with 100% similarity]
src/libopts/autoopts.h [moved from libopts/autoopts.h with 100% similarity]
src/libopts/autoopts/options.h [moved from libopts/autoopts/options.h with 100% similarity]
src/libopts/autoopts/project.h [moved from libopts/autoopts/project.h with 100% similarity]
src/libopts/autoopts/usage-txt.h [moved from libopts/autoopts/usage-txt.h with 100% similarity]
src/libopts/boolean.c [moved from libopts/boolean.c with 100% similarity]
src/libopts/check.c [moved from libopts/check.c with 100% similarity]
src/libopts/compat/compat.h [moved from libopts/compat/compat.h with 100% similarity]
src/libopts/compat/pathfind.c [moved from libopts/compat/pathfind.c with 100% similarity]
src/libopts/compat/snprintf.c [moved from libopts/compat/snprintf.c with 100% similarity]
src/libopts/compat/strchr.c [moved from libopts/compat/strchr.c with 100% similarity]
src/libopts/compat/strdup.c [moved from libopts/compat/strdup.c with 100% similarity]
src/libopts/compat/windows-config.h [moved from libopts/compat/windows-config.h with 100% similarity]
src/libopts/configfile.c [moved from libopts/configfile.c with 100% similarity]
src/libopts/cook.c [moved from libopts/cook.c with 100% similarity]
src/libopts/enum.c [moved from libopts/enum.c with 100% similarity]
src/libopts/env.c [moved from libopts/env.c with 100% similarity]
src/libopts/file.c [moved from libopts/file.c with 100% similarity]
src/libopts/find.c [moved from libopts/find.c with 100% similarity]
src/libopts/genshell.c [moved from libopts/genshell.c with 100% similarity]
src/libopts/genshell.h [moved from libopts/genshell.h with 100% similarity]
src/libopts/libopts.c [moved from libopts/libopts.c with 100% similarity]
src/libopts/load.c [moved from libopts/load.c with 100% similarity]
src/libopts/m4/libopts.m4 [moved from m4/libopts.m4 with 100% similarity]
src/libopts/m4/liboptschk.m4 [moved from m4/liboptschk.m4 with 100% similarity]
src/libopts/makeshell.c [moved from libopts/makeshell.c with 100% similarity]
src/libopts/nested.c [moved from libopts/nested.c with 100% similarity]
src/libopts/numeric.c [moved from libopts/numeric.c with 100% similarity]
src/libopts/parse-duration.c [moved from libopts/parse-duration.c with 100% similarity]
src/libopts/parse-duration.h [moved from libopts/parse-duration.h with 100% similarity]
src/libopts/pgusage.c [moved from libopts/pgusage.c with 100% similarity]
src/libopts/proto.h [moved from libopts/proto.h with 100% similarity]
src/libopts/putshell.c [moved from libopts/putshell.c with 100% similarity]
src/libopts/reset.c [moved from libopts/reset.c with 100% similarity]
src/libopts/restore.c [moved from libopts/restore.c with 100% similarity]
src/libopts/save.c [moved from libopts/save.c with 100% similarity]
src/libopts/sort.c [moved from libopts/sort.c with 100% similarity]
src/libopts/stack.c [moved from libopts/stack.c with 100% similarity]
src/libopts/streqvcmp.c [moved from libopts/streqvcmp.c with 100% similarity]
src/libopts/text_mmap.c [moved from libopts/text_mmap.c with 100% similarity]
src/libopts/time.c [moved from libopts/time.c with 100% similarity]
src/libopts/tokenize.c [moved from libopts/tokenize.c with 100% similarity]
src/libopts/usage.c [moved from libopts/usage.c with 100% similarity]
src/libopts/value-type.c [moved from libopts/value-type.c with 100% similarity]
src/libopts/value-type.h [moved from libopts/value-type.h with 100% similarity]
src/libopts/version.c [moved from libopts/version.c with 100% similarity]
src/libopts/xat-attribute.c [moved from libopts/xat-attribute.c with 100% similarity]
src/libopts/xat-attribute.h [moved from libopts/xat-attribute.h with 100% similarity]
src/srptool-gaa.c [deleted file]
src/srptool-gaa.h [deleted file]

index d63830d82a920ce60da848885354cbdf16add583..06fdb1d09bf78d62d1e5a0376176a1390e9d6180 100644 (file)
 
 DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc --disable-valgrind-tests
 
-SUBDIRS = gl lib extra po 
-
-if NEED_LIBOPTS
-SUBDIRS += libopts
-endif
-
-SUBDIRS += src doc tests
+SUBDIRS = gl lib extra po src doc tests
 
 if HAVE_GUILE
 SUBDIRS += guile
 endif
 
-ACLOCAL_AMFLAGS = -I m4 -I gl/m4
+ACLOCAL_AMFLAGS = -I m4 -I gl/m4 -I src/libopts/m4
 
 EXTRA_DIST = cfg.mk maint.mk .clcopying
 
index 3780cde754b18d241a03ce6b0506c15d1cd46053..0a31ae09f63aa12d236744414dd868e55f6c45bc 100644 (file)
@@ -148,7 +148,7 @@ fi
 AM_CONDITIONAL(ENABLE_PKCS11, test "$with_p11_kit" != "no")
 
 dnl Checks for programs in src/ 
-LIBOPTS_CHECK([libopts])
+LIBOPTS_CHECK([src/libopts])
 
 dnl Check for libcfg+
 SAVED_LIBS=$LIBS
@@ -291,16 +291,6 @@ dnl Programs for compilation or development
 AC_PROG_LN_S
 AC_LIBTOOL_WIN32_DLL
 AC_PROG_LIBTOOL
-AC_PATH_PROG([GAA], [gaa])
-if test "x$GAA" = "x"; then
-   AC_MSG_WARN([[***
-*** GAA was not found.  It is only needed if you wish to modify
-*** the source code or command-line description files.  In this case,
-*** you may want to get it from http://gaa.sourceforge.net/ and
-*** read doc/README.gaa.
-***]])
-fi
-
 
 dnl Guile bindings.
 opt_guile_bindings=yes
@@ -481,20 +471,20 @@ AC_CONFIG_FILES([
   po/Makefile.in
   src/Makefile
   src/certtool-args.def
-  src/ocsptool-args.def
   src/cli-args.def
-  src/serv-args.def
   src/cli-debug-args.def
-  src/srptool-args.def
+  src/crywrap/Makefile
+  src/ocsptool-args.def
   src/p11tool-args.def
   src/psk-args.def
-  src/crywrap/Makefile
+  src/serv-args.def
+  src/srptool-args.def
   tests/Makefile
+  tests/cert-tests/Makefile
   tests/dsa/Makefile
   tests/ecdsa/Makefile
   tests/key-id/Makefile
   tests/openpgp-certs/Makefile
-  tests/cert-tests/Makefile
   tests/pkcs1-padding/Makefile
   tests/pkcs12-decode/Makefile
   tests/pkcs8-decode/Makefile
diff --git a/libopts/Makefile.am b/libopts/Makefile.am
deleted file mode 100644 (file)
index 4b33941..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-## LIBOPTS Makefile
-MAINTAINERCLEANFILES    = Makefile.in
-if INSTALL_LIBOPTS
-lib_LTLIBRARIES         = libopts.la
-else
-noinst_LTLIBRARIES      = libopts.la
-endif
-libopts_la_SOURCES      = libopts.c
-libopts_la_CPPFLAGS     = -I$(top_srcdir)
-libopts_la_LDFLAGS      = -version-info  36:1:11
-EXTRA_DIST              = \
-    ag-char-map.h           autoopts/usage-txt.h    autoopts/options.h  \
-    autoopts/project.h      autoopts.c              autoopts.h  \
-    boolean.c               check.c                 compat/strchr.c  \
-    compat/strdup.c         compat/snprintf.c       compat/pathfind.c  \
-    compat/compat.h         compat/windows-config.h configfile.c  \
-    cook.c                  COPYING.gplv3           COPYING.lgplv3  \
-    COPYING.mbsd            enum.c                  env.c  \
-    file.c                  find.c                  genshell.c  \
-    genshell.h              load.c                  m4/libopts.m4  \
-    m4/liboptschk.m4        MakeDefs.inc            makeshell.c  \
-    nested.c                numeric.c               parse-duration.c  \
-    parse-duration.h        pgusage.c               proto.h  \
-    putshell.c              README                  reset.c  \
-    restore.c               save.c                  sort.c  \
-    stack.c                 streqvcmp.c             text_mmap.c  \
-    time.c                  tokenize.c              usage.c  \
-    value-type.c            value-type.h            version.c  \
-    xat-attribute.c         xat-attribute.h
index 6f1e4c9ca71111736d4fca4c3d7fd0fd064b968f..e26a567a44677d14bfbfce556cda2e1c99f296fb 100644 (file)
 # along with this file; if not, write to the Free Software Foundation,
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 
+SUBDIRS =
 if ENABLE_CRYWRAP
-SUBDIRS = crywrap
+SUBDIRS += crywrap
+endif
+if NEED_LIBOPTS
+SUBDIRS += $(LIBOPTS_DIR)
 endif
 
 AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS)
@@ -119,7 +123,6 @@ libcmd_certtool_la_LIBADD += ../gl/libgnu.la $(INET_PTON_LIB)
 # p11 tool
 if ENABLE_PKCS11
 
-p11tool_gaa_CFLAGS =
 p11tool_SOURCES = p11tool-args.def p11tool.c pkcs11.c certtool-common.c p11tool.h $(PKCS11_SRCS)
 p11tool_LDADD = ../lib/libgnutls.la $(LIBOPTS_LDADD)
 p11tool_LDADD += libcmd-p11tool.la ../gl/libgnu.la
diff --git a/src/cli-gaa.c b/src/cli-gaa.c
deleted file mode 100644 (file)
index dd84b9a..0000000
+++ /dev/null
@@ -1,1350 +0,0 @@
-/* File generated by GAA 1.6.6
- */
-#define GAA_NO_WIN32
-#line 1 "cli.gaa"
-
-
-/* C declarations */
-
-#include <config.h>
-#include <common.h>
-#include <benchmark.h>
-
-void cli_version(void);
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-
-#ifndef GAA_NO_WIN32
-#if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(WINDOWS)
-#define GAA_WIN32
-#endif
-#endif
-
-static void* gaa_malloc( size_t size) {
-void* ret;
-       ret = malloc(size);
-       if (ret==NULL) {
-               fprintf(stderr, "gaa: could not allocate memory");
-               exit(1);
-       }
-       return ret;
-}
-
-static void __gaa_helpsingle(char short_name, char *name, 
-       char *arg_desc, char *opt_help)
-{
-     int col1, col3, col4, tabsize = 3, curr;
-     int i;
-
-     col1 = 5; /* Default values */
-     col3 = 30;
-     col4 = 70;
-
-     curr = 0;
-     for(i = 0; i < col1; i++)
-        {
-        printf(" ");
-        curr++;
-        }
-     if(short_name)
-        {
-        if(name && *name)
-          {
-            printf("-%c, ", short_name);
-            curr += 4;
-          }
-        else
-          {
-            printf("-%c ", short_name);
-            curr += 3;
-          }
-        }
-     if(name && *name)
-        {
-          printf("--%s ", name);
-          curr += 3 + strlen(name);
-        }
-     if(arg_desc && *arg_desc)
-        {
-          printf("%s ", arg_desc);
-          curr += 1 + strlen(arg_desc);
-        }
-     if(curr >= col3)
-        {
-          printf("\n");
-          curr = 0;
-        }
-     if(opt_help) /* let's print the option's help body */
-        {
-        const char *str = opt_help;
-        while(*str)
-          {
-             while(curr < col3)
-               {
-                 printf(" ");
-                 curr++;
-               }
-             switch(*str)
-               {
-                 case '\n':
-                     printf("\n");
-                     curr = 0;
-                     break;
-                 case '\t':
-                     do
-                        {
-                        printf(" ");
-                        curr++;
-                        }
-                     while((curr - col3) % tabsize != 0 && curr < col4);
-                 case ' ':
-                     if(*str == ' ')
-                        {
-                        curr++;
-                        printf(" ");
-                        }
-                     for(i = 1; str[i] && str[i] != ' ' && str[i] != '\n'
-                        && str[i] != '\t'; i++);
-                     if(curr + i - 1 >= col4)
-                        curr = col4;
-                     break;
-                default:
-                     printf("%c", *str);
-                     curr++;
-               }
-             if(curr >= col4)
-               {
-                 printf("\n");
-                 curr = 0;
-               }
-             str++;
-          }
-        }
-     printf("\n");
-}
-
-void gaa_help(void)
-{
-       printf("GnuTLS test client\nUsage:  gnutls-cli [options] hostname\n\n\n");
-       __gaa_helpsingle('d', "debug", "integer ", "Enable debugging");
-       __gaa_helpsingle('r', "resume", "", "Connect, establish a session. Connect again and resume this session.");
-       __gaa_helpsingle('e', "rehandshake", "", "Connect, establish a session and rehandshake immediately.");
-       __gaa_helpsingle(0, "noticket", "", "Doesn't accept session tickets.");
-       __gaa_helpsingle('s', "starttls", "", "Connect, establish a plain session and start TLS when EOF or a SIGALRM is received.");
-       __gaa_helpsingle('u', "udp", "", "Use DTLS (datagram TLS) over UDP.");
-       __gaa_helpsingle(0, "mtu", "integer ", "Set MTU for datagram TLS.");
-       __gaa_helpsingle(0, "crlf", "", "Send CR LF instead of LF.");
-       __gaa_helpsingle(0, "x509fmtder", "", "Use DER format for certificates to read from.");
-       __gaa_helpsingle('f', "fingerprint", "", "Send the openpgp fingerprint, instead of the key.");
-       __gaa_helpsingle(0, "disable-extensions", "", "Disable all the TLS extensions.");
-       __gaa_helpsingle(0, "print-cert", "", "Print the certificate in PEM format.");
-       __gaa_helpsingle(0, "recordsize", "integer ", "The maximum record size to advertize.");
-       __gaa_helpsingle('V', "verbose", "", "More verbose output.");
-       __gaa_helpsingle(0, "priority", "PRIORITY STRING ", "Priorities string.");
-       __gaa_helpsingle(0, "x509cafile", "FILE ", "Certificate file or PKCS #11 URL to use.");
-       __gaa_helpsingle(0, "x509crlfile", "FILE ", "CRL file to use.");
-       __gaa_helpsingle(0, "pgpkeyfile", "FILE ", "PGP Key file to use.");
-       __gaa_helpsingle(0, "pgpkeyring", "FILE ", "PGP Key ring file to use.");
-       __gaa_helpsingle(0, "pgpcertfile", "FILE ", "PGP Public Key (certificate) file to use.");
-       __gaa_helpsingle(0, "pgpsubkey", "HEX|auto ", "PGP subkey to use.");
-       __gaa_helpsingle(0, "x509keyfile", "FILE ", "X.509 key file or PKCS #11 URL to use.");
-       __gaa_helpsingle(0, "x509certfile", "FILE ", "X.509 Certificate file or PKCS #11 URL to use.");
-       __gaa_helpsingle(0, "srpusername", "NAME ", "SRP username to use.");
-       __gaa_helpsingle(0, "srppasswd", "PASSWD ", "SRP password to use.");
-       __gaa_helpsingle(0, "pskusername", "NAME ", "PSK username to use.");
-       __gaa_helpsingle(0, "pskkey", "KEY ", "PSK key (in hex) to use.");
-       __gaa_helpsingle('p', "port", "PORT ", "The port to connect to.");
-       __gaa_helpsingle(0, "insecure", "", "Don't abort program if server certificate can't be validated.");
-       __gaa_helpsingle(0, "benchmark-ciphers", "", "Benchmark individual ciphers.");
-       __gaa_helpsingle(0, "benchmark-soft-ciphers", "", "Benchmark individual software ciphers.");
-       __gaa_helpsingle(0, "benchmark-tls", "", "Benchmark ciphers and key exchange methods in TLS.");
-       __gaa_helpsingle('l', "list", "", "Print a list of the supported algorithms and modes. If a priority string is given then only the ciphersuites enabled by the priority are shown.");
-       __gaa_helpsingle('h', "help", "", "prints this help");
-       __gaa_helpsingle('v', "version", "", "prints the program's version number");
-
-#line 100 "gaa.skel"
-}
-/* Copy of C area */
-
-#line 104 "gaa.skel"
-/* GAA HEADER */
-#ifndef GAA_HEADER_POKY
-#define GAA_HEADER_POKY
-
-typedef struct _gaainfo gaainfo;
-
-struct _gaainfo
-{
-#line 111 "cli.gaa"
-       char *rest_args;
-#line 99 "cli.gaa"
-       int insecure;
-#line 96 "cli.gaa"
-       char *port;
-#line 93 "cli.gaa"
-       char *psk_key;
-#line 90 "cli.gaa"
-       char *psk_username;
-#line 87 "cli.gaa"
-       char *srp_passwd;
-#line 84 "cli.gaa"
-       char *srp_username;
-#line 81 "cli.gaa"
-       char *x509_certfile;
-#line 78 "cli.gaa"
-       char *x509_keyfile;
-#line 75 "cli.gaa"
-       char *pgp_subkey;
-#line 72 "cli.gaa"
-       char *pgp_certfile;
-#line 69 "cli.gaa"
-       char *pgp_keyring;
-#line 66 "cli.gaa"
-       char *pgp_keyfile;
-#line 63 "cli.gaa"
-       char *x509_crlfile;
-#line 60 "cli.gaa"
-       char *x509_cafile;
-#line 57 "cli.gaa"
-       char *priorities;
-#line 54 "cli.gaa"
-       int verbose;
-#line 51 "cli.gaa"
-       int record_size;
-#line 48 "cli.gaa"
-       int print_cert;
-#line 45 "cli.gaa"
-       int disable_extensions;
-#line 42 "cli.gaa"
-       int fingerprint;
-#line 39 "cli.gaa"
-       int fmtder;
-#line 36 "cli.gaa"
-       int crlf;
-#line 33 "cli.gaa"
-       int mtu;
-#line 30 "cli.gaa"
-       int udp;
-#line 27 "cli.gaa"
-       int starttls;
-#line 24 "cli.gaa"
-       int noticket;
-#line 21 "cli.gaa"
-       int rehandshake;
-#line 18 "cli.gaa"
-       int resume;
-#line 15 "cli.gaa"
-       int debug;
-
-#line 114 "gaa.skel"
-};
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-
-    int gaa(int argc, char *argv[], gaainfo *gaaval);
-
-    void gaa_help(void);
-    
-    int gaa_file(const char *name, gaainfo *gaaval);
-    
-#ifdef __cplusplus
-}
-#endif
-
-
-#endif
-
-#line 135 "gaa.skel"
-
-/* C declarations */
-
-#define GAAERROR(x)    \
-{                   \
-gaa_error = 1;      \
-return x;        \
-}
-
-static char *gaa_current_option;
-static int gaa_error = 0;
-
-/* Generated by gaa */
-
-#include <string.h>
-#include <stdlib.h>
-
-
-#define GAA_OK                       -1
-
-#define GAA_ERROR_NOMATCH            0
-#define GAA_ERROR_NOTENOUGH_ARGS     1
-#define GAA_ERROR_INVALID_ARG        2
-#define GAA_ERROR_UNKNOWN            3
-
-#define GAA_NOT_AN_OPTION       0
-#define GAA_WORD_OPTION         1
-#define GAA_LETTER_OPTION       2
-#define GAA_MULTIPLE_OPTION     3
-
-#define GAA_REST                0
-#define GAA_NB_OPTION           35
-#define GAAOPTID_version       1
-#define GAAOPTID_help  2
-#define GAAOPTID_list  3
-#define GAAOPTID_benchmark_tls 4
-#define GAAOPTID_benchmark_soft_ciphers        5
-#define GAAOPTID_benchmark_ciphers     6
-#define GAAOPTID_insecure      7
-#define GAAOPTID_port  8
-#define GAAOPTID_pskkey        9
-#define GAAOPTID_pskusername   10
-#define GAAOPTID_srppasswd     11
-#define GAAOPTID_srpusername   12
-#define GAAOPTID_x509certfile  13
-#define GAAOPTID_x509keyfile   14
-#define GAAOPTID_pgpsubkey     15
-#define GAAOPTID_pgpcertfile   16
-#define GAAOPTID_pgpkeyring    17
-#define GAAOPTID_pgpkeyfile    18
-#define GAAOPTID_x509crlfile   19
-#define GAAOPTID_x509cafile    20
-#define GAAOPTID_priority      21
-#define GAAOPTID_verbose       22
-#define GAAOPTID_recordsize    23
-#define GAAOPTID_print_cert    24
-#define GAAOPTID_disable_extensions    25
-#define GAAOPTID_fingerprint   26
-#define GAAOPTID_x509fmtder    27
-#define GAAOPTID_crlf  28
-#define GAAOPTID_mtu   29
-#define GAAOPTID_udp   30
-#define GAAOPTID_starttls      31
-#define GAAOPTID_noticket      32
-#define GAAOPTID_rehandshake   33
-#define GAAOPTID_resume        34
-#define GAAOPTID_debug 35
-
-#line 168 "gaa.skel"
-
-#define GAA_CHECK1STR(a,b)      \
-if(a[0] == str[0])              \
-{                               \
-    gaa_current_option = a;     \
-    return b;                   \
-}
-
-#define GAA_CHECKSTR(a,b)                \
-if(strcmp(a,str) == 0)                   \
-{                                        \
-    gaa_current_option = a;              \
-    return b;                            \
-}
-
-#define GAA_TESTMOREARGS                                                  \
-if(!OK)                                                                     \
-{                                  \
-while((gaa_last_non_option != gaa_index) && (gaa_arg_used[gaa_index] == 1)) \
-    gaa_index++;                                                            \
-if(gaa_last_non_option == gaa_index)                                        \
-    return GAA_ERROR_NOTENOUGH_ARGS; \
-}
-
-#define GAA_TESTMOREOPTIONALARGS                                                  \
-if(!OK) \
-{ \
-while((gaa_last_non_option != gaa_index) && (gaa_arg_used[gaa_index] == 1)) \
-    gaa_index++;                                                            \
-if(gaa_last_non_option == gaa_index)                                        \
-    OK = 1; \
-}
-
-#define GAA_FILL_2ARGS(target, func)           \
-target = func(GAAargv[gaa_index]);       \
-gaa_arg_used[gaa_index] = 1;             \
-if(gaa_error == 1)                       \
-{                                        \
-    gaa_error = 0;                       \
-    return GAA_ERROR_INVALID_ARG;        \
-} 
-
-
-
-#define GAA_FILL(target, func, num)           \
-if(!OK) \
-{ \
-target = func(GAAargv[gaa_index]);       \
-gaa_arg_used[gaa_index] = 1;             \
-if(gaa_error == 1)                       \
-{                                        \
-    gaa_error = 0;                       \
-    return GAA_ERROR_INVALID_ARG;        \
-} \
-num = 1;  \
-} \
-else \
-{ \
-num = 0; \
-}
-
-#define GAA_LIST_FILL(target, func, type ,num)                      \
-if(!OK) \
-{ \
-num = 0;                                                            \
-target = NULL;                                                      \
-if ( gaa_last_non_option - gaa_index > 0)                           \
-  target = gaa_malloc((gaa_last_non_option - gaa_index) * sizeof(type));\
-for(; gaa_index < gaa_last_non_option; gaa_index++)                 \
-{                                                                   \
-    if(gaa_arg_used[gaa_index] == 0)                                \
-    {                                                               \
-        GAA_FILL_2ARGS(target[num], func);                          \
-        num++;                                                      \
-    }                                                               \
-}                                                                   \
-if(num == 0)                                                        \
-    return GAA_ERROR_NOTENOUGH_ARGS; \
-}
-
-#define GAA_OPTIONALLIST_FILL(target, func, type ,num)                      \
-if(!OK) \
-{ \
-num = 0;                                                            \
-target = NULL;                                                      \
-if ( gaa_last_non_option - gaa_index > 0)                           \
-  target = gaa_malloc((gaa_last_non_option - gaa_index) * sizeof(type));\
-for(; gaa_index < gaa_last_non_option; gaa_index++)                 \
-{                                                                   \
-    if(gaa_arg_used[gaa_index] == 0)                                \
-    {                                                               \
-        GAA_FILL_2ARGS(target[num], func);                                \
-        num++;                                                      \
-    }                                                               \
-} \
-}
-
-#define GAA_OBLIGAT(str)                                            \
-k = 0;                                                              \
-for(i = 0; i < strlen(str); i++)                                    \
-{                                                                   \
-    j = gaa_get_option_num(str + i, GAA_LETTER_OPTION);           \
-    if(j == GAA_ERROR_NOMATCH)                                       \
-    {                                                               \
-        printf("Error: invalid 'obligat' set\n");                  \
-        exit(-1);                                                   \
-    }                                                               \
-    if(opt_list[j] == 1)                                            \
-        k = 1;                                                      \
-}                                                                    \
-if(k == 0)                                                            \
-{                                                                      \
-    if(strlen(str) == 1)                                                \
-        printf("You must give the -%s option\n", str);                     \
-    else                                                                  \
-        printf("You must give at least one option of '%s'\n", str);          \
-    return 0;         \
-}
-        
-#define GAA_INCOMP(str)                                                \
-k = 0;                                                              \
-for(i = 0; i < strlen(str); i++)                                    \
-{                                                                   \
-    j = gaa_get_option_num(str + i, GAA_LETTER_OPTION);           \
-    if(j == GAA_ERROR_NOMATCH)                                      \
-    {                                                               \
-        printf("Error: invalid 'obligat' set\n");                  \
-        exit(-1);                                                   \
-    }                                                               \
-    if(opt_list[j] == 1)                                            \
-        k++;                                                      \
-}                   \
-if(k > 1)                                                            \
-{                                                                      \
-    printf("The options '%s' are incompatible\n", str);              \
-    return 0;                                                          \
-}
-        
-
-static char **GAAargv;
-static int GAAargc;
-static char *gaa_arg_used;
-static int gaa_processing_file = 0;
-static int inited = 0;
-
-static int gaa_getint(char *arg)
-{
-    int tmp;
-    char a;
-    if(sscanf(arg, "%d%c", &tmp, &a) < 1)
-    {
-        printf("Option %s: '%s' isn't an integer\n", gaa_current_option, arg);
-        GAAERROR(-1);
-    }
-    return tmp;
-}
-
-static char gaa_getchar(char *arg)
-{
-    if(strlen(arg) != 1)
-    {
-        printf("Option %s: '%s' isn't an character\n", gaa_current_option, arg);
-        GAAERROR(-1);
-    }
-    return arg[0];
-}
-
-static char* gaa_getstr(char *arg)
-{
-    return arg;
-}
-static float gaa_getfloat(char *arg)
-{
-    float tmp;
-    char a;
-    if(sscanf(arg, "%f%c", &tmp, &a) < 1)
-    {
-        printf("Option %s: '%s' isn't a float number\n", gaa_current_option, arg);
-        GAAERROR(-1);
-    }
-    return tmp;
-}
-/* option structures */
-
-struct GAAOPTION_port 
-{
-       char* arg1;
-       int size1;
-};
-
-struct GAAOPTION_pskkey 
-{
-       char* arg1;
-       int size1;
-};
-
-struct GAAOPTION_pskusername 
-{
-       char* arg1;
-       int size1;
-};
-
-struct GAAOPTION_srppasswd 
-{
-       char* arg1;
-       int size1;
-};
-
-struct GAAOPTION_srpusername 
-{
-       char* arg1;
-       int size1;
-};
-
-struct GAAOPTION_x509certfile 
-{
-       char* arg1;
-       int size1;
-};
-
-struct GAAOPTION_x509keyfile 
-{
-       char* arg1;
-       int size1;
-};
-
-struct GAAOPTION_pgpsubkey 
-{
-       char* arg1;
-       int size1;
-};
-
-struct GAAOPTION_pgpcertfile 
-{
-       char* arg1;
-       int size1;
-};
-
-struct GAAOPTION_pgpkeyring 
-{
-       char* arg1;
-       int size1;
-};
-
-struct GAAOPTION_pgpkeyfile 
-{
-       char* arg1;
-       int size1;
-};
-
-struct GAAOPTION_x509crlfile 
-{
-       char* arg1;
-       int size1;
-};
-
-struct GAAOPTION_x509cafile 
-{
-       char* arg1;
-       int size1;
-};
-
-struct GAAOPTION_priority 
-{
-       char* arg1;
-       int size1;
-};
-
-struct GAAOPTION_recordsize 
-{
-       int arg1;
-       int size1;
-};
-
-struct GAAOPTION_mtu 
-{
-       int arg1;
-       int size1;
-};
-
-struct GAAOPTION_debug 
-{
-       int arg1;
-       int size1;
-};
-#define GAA_REST_EXISTS
-
-struct GAAREST
-{
-       char* arg1;
-       int size1;
-};
-         
-#line 349 "gaa.skel"
-static int gaa_is_an_argument(char *str)
-{
-#ifdef GAA_WIN32
-    if(str[0] == '/' && str[1] != 0)
-       return GAA_MULTIPLE_OPTION;
-#endif
-    if(str[0] != '-')
-        return GAA_NOT_AN_OPTION;
-    if(str[1] == 0)
-        return GAA_NOT_AN_OPTION;
-    if(str[1] == '-')
-    {
-        if(str[2] != 0)
-            return GAA_WORD_OPTION;
-        else
-            return GAA_NOT_AN_OPTION;
-    }
-    if(str[2] == 0)
-        return GAA_LETTER_OPTION;
-    else
-        return GAA_MULTIPLE_OPTION;
-}
-
-static int gaa_get_option_num(char *str, int status)
-{
-    switch(status)
-        {
-        case GAA_LETTER_OPTION:
-                       GAA_CHECK1STR("p", GAAOPTID_port);
-                       GAA_CHECK1STR("", GAAOPTID_pskkey);
-                       GAA_CHECK1STR("", GAAOPTID_pskusername);
-                       GAA_CHECK1STR("", GAAOPTID_srppasswd);
-                       GAA_CHECK1STR("", GAAOPTID_srpusername);
-                       GAA_CHECK1STR("", GAAOPTID_x509certfile);
-                       GAA_CHECK1STR("", GAAOPTID_x509keyfile);
-                       GAA_CHECK1STR("", GAAOPTID_pgpsubkey);
-                       GAA_CHECK1STR("", GAAOPTID_pgpcertfile);
-                       GAA_CHECK1STR("", GAAOPTID_pgpkeyring);
-                       GAA_CHECK1STR("", GAAOPTID_pgpkeyfile);
-                       GAA_CHECK1STR("", GAAOPTID_x509crlfile);
-                       GAA_CHECK1STR("", GAAOPTID_x509cafile);
-                       GAA_CHECK1STR("", GAAOPTID_priority);
-                       GAA_CHECK1STR("", GAAOPTID_recordsize);
-                       GAA_CHECK1STR("", GAAOPTID_mtu);
-                       GAA_CHECK1STR("d", GAAOPTID_debug);
-        case GAA_MULTIPLE_OPTION:
-#line 375 "gaa.skel"
-                       GAA_CHECK1STR("v", GAAOPTID_version);
-                       GAA_CHECK1STR("h", GAAOPTID_help);
-                       GAA_CHECK1STR("l", GAAOPTID_list);
-                       GAA_CHECK1STR("", GAAOPTID_benchmark_tls);
-                       GAA_CHECK1STR("", GAAOPTID_benchmark_soft_ciphers);
-                       GAA_CHECK1STR("", GAAOPTID_benchmark_ciphers);
-                       GAA_CHECK1STR("", GAAOPTID_insecure);
-                       GAA_CHECK1STR("V", GAAOPTID_verbose);
-                       GAA_CHECK1STR("", GAAOPTID_print_cert);
-                       GAA_CHECK1STR("", GAAOPTID_disable_extensions);
-                       GAA_CHECK1STR("f", GAAOPTID_fingerprint);
-                       GAA_CHECK1STR("", GAAOPTID_x509fmtder);
-                       GAA_CHECK1STR("", GAAOPTID_crlf);
-                       GAA_CHECK1STR("u", GAAOPTID_udp);
-                       GAA_CHECK1STR("s", GAAOPTID_starttls);
-                       GAA_CHECK1STR("", GAAOPTID_noticket);
-                       GAA_CHECK1STR("e", GAAOPTID_rehandshake);
-                       GAA_CHECK1STR("r", GAAOPTID_resume);
-
-#line 277 "gaa.skel"
-        break;
-        case GAA_WORD_OPTION:
-                       GAA_CHECKSTR("version", GAAOPTID_version);
-                       GAA_CHECKSTR("help", GAAOPTID_help);
-                       GAA_CHECKSTR("list", GAAOPTID_list);
-                       GAA_CHECKSTR("benchmark-tls", GAAOPTID_benchmark_tls);
-                       GAA_CHECKSTR("benchmark-soft-ciphers", GAAOPTID_benchmark_soft_ciphers);
-                       GAA_CHECKSTR("benchmark-ciphers", GAAOPTID_benchmark_ciphers);
-                       GAA_CHECKSTR("insecure", GAAOPTID_insecure);
-                       GAA_CHECKSTR("port", GAAOPTID_port);
-                       GAA_CHECKSTR("pskkey", GAAOPTID_pskkey);
-                       GAA_CHECKSTR("pskusername", GAAOPTID_pskusername);
-                       GAA_CHECKSTR("srppasswd", GAAOPTID_srppasswd);
-                       GAA_CHECKSTR("srpusername", GAAOPTID_srpusername);
-                       GAA_CHECKSTR("x509certfile", GAAOPTID_x509certfile);
-                       GAA_CHECKSTR("x509keyfile", GAAOPTID_x509keyfile);
-                       GAA_CHECKSTR("pgpsubkey", GAAOPTID_pgpsubkey);
-                       GAA_CHECKSTR("pgpcertfile", GAAOPTID_pgpcertfile);
-                       GAA_CHECKSTR("pgpkeyring", GAAOPTID_pgpkeyring);
-                       GAA_CHECKSTR("pgpkeyfile", GAAOPTID_pgpkeyfile);
-                       GAA_CHECKSTR("x509crlfile", GAAOPTID_x509crlfile);
-                       GAA_CHECKSTR("x509cafile", GAAOPTID_x509cafile);
-                       GAA_CHECKSTR("priority", GAAOPTID_priority);
-                       GAA_CHECKSTR("verbose", GAAOPTID_verbose);
-                       GAA_CHECKSTR("recordsize", GAAOPTID_recordsize);
-                       GAA_CHECKSTR("print-cert", GAAOPTID_print_cert);
-                       GAA_CHECKSTR("disable-extensions", GAAOPTID_disable_extensions);
-                       GAA_CHECKSTR("fingerprint", GAAOPTID_fingerprint);
-                       GAA_CHECKSTR("x509fmtder", GAAOPTID_x509fmtder);
-                       GAA_CHECKSTR("crlf", GAAOPTID_crlf);
-                       GAA_CHECKSTR("mtu", GAAOPTID_mtu);
-                       GAA_CHECKSTR("udp", GAAOPTID_udp);
-                       GAA_CHECKSTR("starttls", GAAOPTID_starttls);
-                       GAA_CHECKSTR("noticket", GAAOPTID_noticket);
-                       GAA_CHECKSTR("rehandshake", GAAOPTID_rehandshake);
-                       GAA_CHECKSTR("resume", GAAOPTID_resume);
-                       GAA_CHECKSTR("debug", GAAOPTID_debug);
-
-#line 281 "gaa.skel"
-       break;
-        default: break;
-        }
-    return GAA_ERROR_NOMATCH;
-}
-
-static int gaa_try(int gaa_num, int gaa_index, gaainfo *gaaval, char *opt_list)
-{
-    int OK = 0;
-    int gaa_last_non_option;
-       struct GAAOPTION_port GAATMP_port;
-       struct GAAOPTION_pskkey GAATMP_pskkey;
-       struct GAAOPTION_pskusername GAATMP_pskusername;
-       struct GAAOPTION_srppasswd GAATMP_srppasswd;
-       struct GAAOPTION_srpusername GAATMP_srpusername;
-       struct GAAOPTION_x509certfile GAATMP_x509certfile;
-       struct GAAOPTION_x509keyfile GAATMP_x509keyfile;
-       struct GAAOPTION_pgpsubkey GAATMP_pgpsubkey;
-       struct GAAOPTION_pgpcertfile GAATMP_pgpcertfile;
-       struct GAAOPTION_pgpkeyring GAATMP_pgpkeyring;
-       struct GAAOPTION_pgpkeyfile GAATMP_pgpkeyfile;
-       struct GAAOPTION_x509crlfile GAATMP_x509crlfile;
-       struct GAAOPTION_x509cafile GAATMP_x509cafile;
-       struct GAAOPTION_priority GAATMP_priority;
-       struct GAAOPTION_recordsize GAATMP_recordsize;
-       struct GAAOPTION_mtu GAATMP_mtu;
-       struct GAAOPTION_debug GAATMP_debug;
-
-#line 393 "gaa.skel"
-#ifdef GAA_REST_EXISTS
-    struct GAAREST GAAREST_tmp;
-#endif
-
-    opt_list[gaa_num] = 1;
-    
-    for(gaa_last_non_option = gaa_index;
-        (gaa_last_non_option != GAAargc) && (gaa_is_an_argument(GAAargv[gaa_last_non_option]) == GAA_NOT_AN_OPTION);
-        gaa_last_non_option++);
-
-    if(gaa_num == GAA_REST)
-    {
-        gaa_index = 1;
-        gaa_last_non_option = GAAargc;
-    }
-    
-    switch(gaa_num)
-    {
-       case GAAOPTID_version:
-       OK = 0;
-#line 109 "cli.gaa"
-{ cli_version(); exit(0); ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_help:
-       OK = 0;
-#line 107 "cli.gaa"
-{ gaa_help(); exit(0); ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_list:
-       OK = 0;
-#line 106 "cli.gaa"
-{ print_list(gaaval->priorities, gaaval->verbose); exit(0); ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_benchmark_tls:
-       OK = 0;
-#line 104 "cli.gaa"
-{ benchmark_tls(gaaval->debug); exit(0) ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_benchmark_soft_ciphers:
-       OK = 0;
-#line 103 "cli.gaa"
-{ benchmark_cipher(0, gaaval->debug); exit(0) ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_benchmark_ciphers:
-       OK = 0;
-#line 102 "cli.gaa"
-{ benchmark_cipher(1, gaaval->debug); exit(0) ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_insecure:
-       OK = 0;
-#line 100 "cli.gaa"
-{ gaaval->insecure = 1 ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_port:
-       OK = 0;
-               GAA_TESTMOREARGS;
-               GAA_FILL(GAATMP_port.arg1, gaa_getstr, GAATMP_port.size1);
-               gaa_index++;
-#line 97 "cli.gaa"
-{ gaaval->port = GAATMP_port.arg1 ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_pskkey:
-       OK = 0;
-               GAA_TESTMOREARGS;
-               GAA_FILL(GAATMP_pskkey.arg1, gaa_getstr, GAATMP_pskkey.size1);
-               gaa_index++;
-#line 94 "cli.gaa"
-{ gaaval->psk_key = GAATMP_pskkey.arg1 ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_pskusername:
-       OK = 0;
-               GAA_TESTMOREARGS;
-               GAA_FILL(GAATMP_pskusername.arg1, gaa_getstr, GAATMP_pskusername.size1);
-               gaa_index++;
-#line 91 "cli.gaa"
-{ gaaval->psk_username = GAATMP_pskusername.arg1 ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_srppasswd:
-       OK = 0;
-               GAA_TESTMOREARGS;
-               GAA_FILL(GAATMP_srppasswd.arg1, gaa_getstr, GAATMP_srppasswd.size1);
-               gaa_index++;
-#line 88 "cli.gaa"
-{ gaaval->srp_passwd = GAATMP_srppasswd.arg1 ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_srpusername:
-       OK = 0;
-               GAA_TESTMOREARGS;
-               GAA_FILL(GAATMP_srpusername.arg1, gaa_getstr, GAATMP_srpusername.size1);
-               gaa_index++;
-#line 85 "cli.gaa"
-{ gaaval->srp_username = GAATMP_srpusername.arg1 ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_x509certfile:
-       OK = 0;
-               GAA_TESTMOREARGS;
-               GAA_FILL(GAATMP_x509certfile.arg1, gaa_getstr, GAATMP_x509certfile.size1);
-               gaa_index++;
-#line 82 "cli.gaa"
-{ gaaval->x509_certfile = GAATMP_x509certfile.arg1 ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_x509keyfile:
-       OK = 0;
-               GAA_TESTMOREARGS;
-               GAA_FILL(GAATMP_x509keyfile.arg1, gaa_getstr, GAATMP_x509keyfile.size1);
-               gaa_index++;
-#line 79 "cli.gaa"
-{ gaaval->x509_keyfile = GAATMP_x509keyfile.arg1 ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_pgpsubkey:
-       OK = 0;
-               GAA_TESTMOREARGS;
-               GAA_FILL(GAATMP_pgpsubkey.arg1, gaa_getstr, GAATMP_pgpsubkey.size1);
-               gaa_index++;
-#line 76 "cli.gaa"
-{ gaaval->pgp_subkey = GAATMP_pgpsubkey.arg1 ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_pgpcertfile:
-       OK = 0;
-               GAA_TESTMOREARGS;
-               GAA_FILL(GAATMP_pgpcertfile.arg1, gaa_getstr, GAATMP_pgpcertfile.size1);
-               gaa_index++;
-#line 73 "cli.gaa"
-{ gaaval->pgp_certfile = GAATMP_pgpcertfile.arg1 ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_pgpkeyring:
-       OK = 0;
-               GAA_TESTMOREARGS;
-               GAA_FILL(GAATMP_pgpkeyring.arg1, gaa_getstr, GAATMP_pgpkeyring.size1);
-               gaa_index++;
-#line 70 "cli.gaa"
-{ gaaval->pgp_keyring = GAATMP_pgpkeyring.arg1 ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_pgpkeyfile:
-       OK = 0;
-               GAA_TESTMOREARGS;
-               GAA_FILL(GAATMP_pgpkeyfile.arg1, gaa_getstr, GAATMP_pgpkeyfile.size1);
-               gaa_index++;
-#line 67 "cli.gaa"
-{ gaaval->pgp_keyfile = GAATMP_pgpkeyfile.arg1 ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_x509crlfile:
-       OK = 0;
-               GAA_TESTMOREARGS;
-               GAA_FILL(GAATMP_x509crlfile.arg1, gaa_getstr, GAATMP_x509crlfile.size1);
-               gaa_index++;
-#line 64 "cli.gaa"
-{ gaaval->x509_crlfile = GAATMP_x509crlfile.arg1 ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_x509cafile:
-       OK = 0;
-               GAA_TESTMOREARGS;
-               GAA_FILL(GAATMP_x509cafile.arg1, gaa_getstr, GAATMP_x509cafile.size1);
-               gaa_index++;
-#line 61 "cli.gaa"
-{ gaaval->x509_cafile = GAATMP_x509cafile.arg1 ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_priority:
-       OK = 0;
-               GAA_TESTMOREARGS;
-               GAA_FILL(GAATMP_priority.arg1, gaa_getstr, GAATMP_priority.size1);
-               gaa_index++;
-#line 58 "cli.gaa"
-{ gaaval->priorities = GAATMP_priority.arg1 ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_verbose:
-       OK = 0;
-#line 55 "cli.gaa"
-{ gaaval->verbose = 1 ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_recordsize:
-       OK = 0;
-               GAA_TESTMOREARGS;
-               GAA_FILL(GAATMP_recordsize.arg1, gaa_getint, GAATMP_recordsize.size1);
-               gaa_index++;
-#line 52 "cli.gaa"
-{ gaaval->record_size = GAATMP_recordsize.arg1 ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_print_cert:
-       OK = 0;
-#line 49 "cli.gaa"
-{ gaaval->print_cert = 1 ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_disable_extensions:
-       OK = 0;
-#line 46 "cli.gaa"
-{ gaaval->disable_extensions = 1 ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_fingerprint:
-       OK = 0;
-#line 43 "cli.gaa"
-{ gaaval->fingerprint = 1 ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_x509fmtder:
-       OK = 0;
-#line 40 "cli.gaa"
-{ gaaval->fmtder = 1 ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_crlf:
-       OK = 0;
-#line 37 "cli.gaa"
-{ gaaval->crlf = 1 ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_mtu:
-       OK = 0;
-               GAA_TESTMOREARGS;
-               GAA_FILL(GAATMP_mtu.arg1, gaa_getint, GAATMP_mtu.size1);
-               gaa_index++;
-#line 34 "cli.gaa"
-{ gaaval->mtu = GAATMP_mtu.arg1 ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_udp:
-       OK = 0;
-#line 31 "cli.gaa"
-{ gaaval->udp = 1 ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_starttls:
-       OK = 0;
-#line 28 "cli.gaa"
-{ gaaval->starttls = 1 ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_noticket:
-       OK = 0;
-#line 25 "cli.gaa"
-{ gaaval->noticket = 1 ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_rehandshake:
-       OK = 0;
-#line 22 "cli.gaa"
-{ gaaval->rehandshake = 1 ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_resume:
-       OK = 0;
-#line 19 "cli.gaa"
-{ gaaval->resume = 1 ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_debug:
-       OK = 0;
-               GAA_TESTMOREARGS;
-               GAA_FILL(GAATMP_debug.arg1, gaa_getint, GAATMP_debug.size1);
-               gaa_index++;
-#line 16 "cli.gaa"
-{ gaaval->debug = GAATMP_debug.arg1 ;};
-
-               return GAA_OK;
-               break;
-       case GAA_REST:
-               GAA_TESTMOREARGS;
-               GAA_FILL(GAAREST_tmp.arg1, gaa_getstr, GAAREST_tmp.size1);
-               gaa_index++;
-#line 112 "cli.gaa"
-{ gaaval->rest_args = GAAREST_tmp.arg1; ;};
-
-               return GAA_OK;
-               break;
-
-#line 413 "gaa.skel"
-    default: break;
-    }
-    return GAA_ERROR_UNKNOWN;
-}
-
-int gaa(int argc, char **argv, gaainfo *gaaval)
-{
-    int tmp1, tmp2;
-    int i, j;
-    char *opt_list;
-
-    GAAargv = argv;
-    GAAargc = argc;
-
-    opt_list = (char*) gaa_malloc(GAA_NB_OPTION + 1);
-
-    for(i = 0; i < GAA_NB_OPTION + 1; i++)
-        opt_list[i] = 0;
-    /* initialization */
-    if(inited == 0)
-    {
-
-#line 114 "cli.gaa"
-{ gaaval->resume=0; gaaval->noticket=0; gaaval->port="443"; gaaval->rest_args=NULL; 
-       gaaval->record_size=0; 
-       gaaval->fingerprint=0; gaaval->pgp_keyring=NULL; gaaval->x509_crlfile = NULL;
-       gaaval->x509_cafile = NULL; gaaval->pgp_keyfile=NULL; gaaval->pgp_certfile=NULL; gaaval->disable_extensions = 0;
-       gaaval->x509_keyfile=NULL; gaaval->x509_certfile=NULL; gaaval->crlf = 0; 
-       gaaval->srp_username=NULL; gaaval->srp_passwd=NULL; gaaval->fmtder = 0; gaaval->starttls =0; 
-       gaaval->debug = 0; gaaval->print_cert = 0; gaaval->verbose = 0; gaaval->psk_key = NULL; 
-       gaaval->psk_username = NULL; gaaval->priorities = NULL; gaaval->mtu = 1300;
-       gaaval->pgp_subkey = NULL; gaaval->rehandshake = 0; gaaval->udp = 0; ;};
-
-    }
-    inited = 1;
-#line 438 "gaa.skel"
-    gaa_arg_used = NULL;
-
-    if (argc > 0) {
-      gaa_arg_used = gaa_malloc(argc * sizeof(char));
-    }
-
-    for(i = 1; i < argc; i++)
-        gaa_arg_used[i] = 0;
-    for(i = 1; i < argc; i++)
-    {
-        if(gaa_arg_used[i] == 0)
-        {
-            j = 0;
-            tmp1 = gaa_is_an_argument(GAAargv[i]);
-            switch(tmp1)
-            {
-            case GAA_WORD_OPTION:
-                j++;
-            case GAA_LETTER_OPTION:
-                j++;
-                tmp2 = gaa_get_option_num(argv[i]+j, tmp1);
-                if(tmp2 == GAA_ERROR_NOMATCH)
-                {
-                    printf("Invalid option '%s'\n", argv[i]+j);
-                    return 0;
-                }
-                switch(gaa_try(tmp2, i+1, gaaval, opt_list))
-                {
-                case GAA_ERROR_NOTENOUGH_ARGS:
-                    printf("'%s': not enough arguments\n",gaa_current_option);
-                    return 0;
-                case GAA_ERROR_INVALID_ARG:
-                    printf("Invalid arguments\n");
-                    return 0;
-                case GAA_OK:
-                    break;
-                default:
-                    printf("Unknown error\n");
-                }
-                gaa_arg_used[i] = 1;
-                break;
-            case GAA_MULTIPLE_OPTION:
-                for(j = 1; j < strlen(argv[i]); j++)
-                {
-                    tmp2 = gaa_get_option_num(argv[i]+j, tmp1);
-                    if(tmp2 == GAA_ERROR_NOMATCH)
-                    {
-                        printf("Invalid option '%c'\n", *(argv[i]+j));
-                        return 0;
-                    }
-                    switch(gaa_try(tmp2, i+1, gaaval, opt_list))
-                    {
-                    case GAA_ERROR_NOTENOUGH_ARGS:
-                        printf("'%s': not enough arguments\n",gaa_current_option);
-                        return 0;
-                    case GAA_ERROR_INVALID_ARG:
-                        printf("Invalid arguments\n");
-                        return 0;
-                    case GAA_OK:
-                        break;
-                    default:
-                        printf("Unknown error\n");
-                    }
-                }
-                gaa_arg_used[i] = 1;
-                break;
-            default: break;
-            }
-        }
-    }
-if(gaa_processing_file == 0)
-{
-
-#line 507 "gaa.skel"
-#ifdef GAA_REST_EXISTS
-    switch(gaa_try(GAA_REST, 1, gaaval, opt_list))
-    {
-    case GAA_ERROR_NOTENOUGH_ARGS:
-        printf("Rest: not enough arguments\n");
-        return 0;
-    case GAA_ERROR_INVALID_ARG:
-        printf("Invalid arguments\n");
-        return 0;
-    case GAA_OK:
-        break;
-    default:
-        printf("Unknown error\n");
-    }
-#endif
-}
-    for(i = 1; i < argc; i++)
-    {
-        if(gaa_arg_used[i] == 0)
-        {
-            printf("Too many arguments\n");
-            return 0;
-        }
-    }
-    free(gaa_arg_used);
-    free(opt_list);
-    return -1;
-}
-
-struct gaastrnode
-{
-    char *str;
-    struct gaastrnode *next;
-};
-
-typedef struct gaastrnode gaa_str_node;
-
-static int gaa_internal_get_next_str(FILE *file, gaa_str_node *tmp_str, int argc)
-{
-    int pos_ini;
-    int a;
-    int i = 0, len = 0, newline = 0;
-
-    if(argc == 1) {
-        newline = 1;
-        len = 2;
-    }
-    
-    a = fgetc( file);
-    if (a == EOF) return 0;
-
-    while(a == ' ' || a == 9 || a == '\n')
-    {
-        if(a == '\n')
-        {
-            newline=1;
-            len = 2;
-        }
-        a = fgetc( file);
-        if (a == EOF) return 0;
-    }
-
-    pos_ini = ftell(file) - 1;
-
-    while(a != ' ' && a != 9 && a != '\n')
-    {
-
-        len++;
-        a = fgetc( file);
-        if(a==EOF) return 0;
-    }
-
-    len += 1;
-    tmp_str->str = gaa_malloc((len) * sizeof(char));
-
-    if(newline == 1)
-    {
-        tmp_str->str[0] = '-';
-        tmp_str->str[1] = '-';
-        i = 2;
-    }
-    else
-    {
-        i = 0;
-    }
-
-    fseek(file,pos_ini, SEEK_SET);
-    do
-    {
-        a = fgetc( file);
-
-        if (a == EOF) {
-            i+=2;
-            break;
-        }
-        tmp_str->str[i] = a;
-        i++;
-    }
-    while(a != ' ' && a != 9 && a != '\n' && i < len);
-
-    tmp_str->str[i - 1] = 0;
-
-    fseek(file,- 1, SEEK_CUR);
-/*    printf("%d\n", ftell(file)); */
-    
-    return -1;
-}
-
-int gaa_file(const char *name, gaainfo *gaaval)
-{
-    gaa_str_node *first_str, **tmp_str, *tmp_str2;
-    int rval, i;
-    char **argv;
-    int argc = 0;
-    FILE *file;
-
-    gaa_processing_file = 1;
-    
-    if((file = fopen(name, "r")) == NULL)
-    {
-        printf("Couldn't open '%s' configuration file for reading\n", name);
-        return 1;
-    }
-    
-    tmp_str = &first_str;
-    do
-    {
-        argc++;
-        *tmp_str = gaa_malloc(sizeof(gaa_str_node));
-
-        (*tmp_str)->str = NULL;
-        (*tmp_str)->next = NULL;
-
-        rval = gaa_internal_get_next_str(file, *tmp_str, argc);
-        tmp_str = &((*tmp_str)->next);
-    }
-    while(rval == -1);
-    
-    if(rval == 1)
-        return 0;
-    
-    argv = gaa_malloc((1 + argc) * sizeof(char*));
-
-    tmp_str2 = first_str;
-    argv[0] = "cfg";
-    for(i = 1; i < argc; i++)
-    {
-        argv[i] = tmp_str2->str;
-        tmp_str2 = tmp_str2->next;
-    }
-
-    rval = gaa(argc, argv, gaaval);
-    gaa_processing_file = 0;
-    return rval;
-}
diff --git a/src/cli-gaa.h b/src/cli-gaa.h
deleted file mode 100644 (file)
index 2a44d2d..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-
-#line 104 "gaa.skel"
-/* GAA HEADER */
-#ifndef GAA_HEADER_POKY
-#define GAA_HEADER_POKY
-
-typedef struct _gaainfo gaainfo;
-
-struct _gaainfo
-{
-#line 111 "cli.gaa"
-       char *rest_args;
-#line 99 "cli.gaa"
-       int insecure;
-#line 96 "cli.gaa"
-       char *port;
-#line 93 "cli.gaa"
-       char *psk_key;
-#line 90 "cli.gaa"
-       char *psk_username;
-#line 87 "cli.gaa"
-       char *srp_passwd;
-#line 84 "cli.gaa"
-       char *srp_username;
-#line 81 "cli.gaa"
-       char *x509_certfile;
-#line 78 "cli.gaa"
-       char *x509_keyfile;
-#line 75 "cli.gaa"
-       char *pgp_subkey;
-#line 72 "cli.gaa"
-       char *pgp_certfile;
-#line 69 "cli.gaa"
-       char *pgp_keyring;
-#line 66 "cli.gaa"
-       char *pgp_keyfile;
-#line 63 "cli.gaa"
-       char *x509_crlfile;
-#line 60 "cli.gaa"
-       char *x509_cafile;
-#line 57 "cli.gaa"
-       char *priorities;
-#line 54 "cli.gaa"
-       int verbose;
-#line 51 "cli.gaa"
-       int record_size;
-#line 48 "cli.gaa"
-       int print_cert;
-#line 45 "cli.gaa"
-       int disable_extensions;
-#line 42 "cli.gaa"
-       int fingerprint;
-#line 39 "cli.gaa"
-       int fmtder;
-#line 36 "cli.gaa"
-       int crlf;
-#line 33 "cli.gaa"
-       int mtu;
-#line 30 "cli.gaa"
-       int udp;
-#line 27 "cli.gaa"
-       int starttls;
-#line 24 "cli.gaa"
-       int noticket;
-#line 21 "cli.gaa"
-       int rehandshake;
-#line 18 "cli.gaa"
-       int resume;
-#line 15 "cli.gaa"
-       int debug;
-
-#line 114 "gaa.skel"
-};
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-
-    int gaa(int argc, char *argv[], gaainfo *gaaval);
-
-    void gaa_help(void);
-    
-    int gaa_file(const char *name, gaainfo *gaaval);
-    
-#ifdef __cplusplus
-}
-#endif
-
-
-#endif
diff --git a/src/libopts/Makefile.am b/src/libopts/Makefile.am
new file mode 100644 (file)
index 0000000..84595b0
--- /dev/null
@@ -0,0 +1,29 @@
+## LIBOPTS Makefile
+MAINTAINERCLEANFILES    = Makefile.in
+if INSTALL_LIBOPTS
+lib_LTLIBRARIES         = libopts.la
+else
+noinst_LTLIBRARIES      = libopts.la
+endif
+libopts_la_SOURCES      = libopts.c
+libopts_la_CPPFLAGS     = -I$(top_srcdir)
+libopts_la_LDFLAGS      = -version-info  36:1:11
+EXTRA_DIST              = \
+    COPYING.gplv3           COPYING.lgplv3          COPYING.mbsd  \
+    MakeDefs.inc            README                  ag-char-map.h  \
+    autoopts/project.h      autoopts/options.h      autoopts/usage-txt.h  \
+    autoopts.c              autoopts.h              boolean.c  \
+    check.c                 compat/pathfind.c       compat/strchr.c  \
+    compat/windows-config.h compat/snprintf.c       compat/compat.h  \
+    compat/strdup.c         configfile.c            cook.c  \
+    enum.c                  env.c                   file.c  \
+    find.c                  genshell.c              genshell.h  \
+    load.c                  m4/liboptschk.m4        m4/libopts.m4  \
+    makeshell.c             nested.c                numeric.c  \
+    parse-duration.c        parse-duration.h        pgusage.c  \
+    proto.h                 putshell.c              reset.c  \
+    restore.c               save.c                  sort.c  \
+    stack.c                 streqvcmp.c             text_mmap.c  \
+    time.c                  tokenize.c              usage.c  \
+    value-type.c            value-type.h            version.c  \
+    xat-attribute.c         xat-attribute.h
similarity index 100%
rename from libopts/README
rename to src/libopts/README
similarity index 100%
rename from libopts/autoopts.c
rename to src/libopts/autoopts.c
similarity index 100%
rename from libopts/autoopts.h
rename to src/libopts/autoopts.h
similarity index 100%
rename from libopts/boolean.c
rename to src/libopts/boolean.c
similarity index 100%
rename from libopts/check.c
rename to src/libopts/check.c
similarity index 100%
rename from libopts/cook.c
rename to src/libopts/cook.c
similarity index 100%
rename from libopts/enum.c
rename to src/libopts/enum.c
similarity index 100%
rename from libopts/env.c
rename to src/libopts/env.c
similarity index 100%
rename from libopts/file.c
rename to src/libopts/file.c
similarity index 100%
rename from libopts/find.c
rename to src/libopts/find.c
similarity index 100%
rename from libopts/genshell.c
rename to src/libopts/genshell.c
similarity index 100%
rename from libopts/genshell.h
rename to src/libopts/genshell.h
similarity index 100%
rename from libopts/libopts.c
rename to src/libopts/libopts.c
similarity index 100%
rename from libopts/load.c
rename to src/libopts/load.c
similarity index 100%
rename from m4/libopts.m4
rename to src/libopts/m4/libopts.m4
similarity index 100%
rename from libopts/makeshell.c
rename to src/libopts/makeshell.c
similarity index 100%
rename from libopts/nested.c
rename to src/libopts/nested.c
similarity index 100%
rename from libopts/numeric.c
rename to src/libopts/numeric.c
similarity index 100%
rename from libopts/pgusage.c
rename to src/libopts/pgusage.c
similarity index 100%
rename from libopts/proto.h
rename to src/libopts/proto.h
similarity index 100%
rename from libopts/putshell.c
rename to src/libopts/putshell.c
similarity index 100%
rename from libopts/reset.c
rename to src/libopts/reset.c
similarity index 100%
rename from libopts/restore.c
rename to src/libopts/restore.c
similarity index 100%
rename from libopts/save.c
rename to src/libopts/save.c
similarity index 100%
rename from libopts/sort.c
rename to src/libopts/sort.c
similarity index 100%
rename from libopts/stack.c
rename to src/libopts/stack.c
similarity index 100%
rename from libopts/streqvcmp.c
rename to src/libopts/streqvcmp.c
similarity index 100%
rename from libopts/text_mmap.c
rename to src/libopts/text_mmap.c
similarity index 100%
rename from libopts/time.c
rename to src/libopts/time.c
similarity index 100%
rename from libopts/tokenize.c
rename to src/libopts/tokenize.c
similarity index 100%
rename from libopts/usage.c
rename to src/libopts/usage.c
similarity index 100%
rename from libopts/version.c
rename to src/libopts/version.c
diff --git a/src/srptool-gaa.c b/src/srptool-gaa.c
deleted file mode 100644 (file)
index f396335..0000000
+++ /dev/null
@@ -1,910 +0,0 @@
-/* File generated by GAA 1.6.6
- */
-#define GAA_NO_WIN32
-#line 1 "srptool.gaa"
-
-
-/* C declarations */
-
-#include <config.h>
-#ifdef _WIN32
-# include <io.h>
-#endif
-
-void srptool_version(void);
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-
-#ifndef GAA_NO_WIN32
-#if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(WINDOWS)
-#define GAA_WIN32
-#endif
-#endif
-
-static void* gaa_malloc( size_t size) {
-void* ret;
-       ret = malloc(size);
-       if (ret==NULL) {
-               fprintf(stderr, "gaa: could not allocate memory");
-               exit(1);
-       }
-       return ret;
-}
-
-static void __gaa_helpsingle(char short_name, char *name, 
-       char *arg_desc, char *opt_help)
-{
-     int col1, col3, col4, tabsize = 3, curr;
-     int i;
-
-     col1 = 5; /* Default values */
-     col3 = 30;
-     col4 = 70;
-
-     curr = 0;
-     for(i = 0; i < col1; i++)
-        {
-        printf(" ");
-        curr++;
-        }
-     if(short_name)
-        {
-        if(name && *name)
-          {
-            printf("-%c, ", short_name);
-            curr += 4;
-          }
-        else
-          {
-            printf("-%c ", short_name);
-            curr += 3;
-          }
-        }
-     if(name && *name)
-        {
-          printf("--%s ", name);
-          curr += 3 + strlen(name);
-        }
-     if(arg_desc && *arg_desc)
-        {
-          printf("%s ", arg_desc);
-          curr += 1 + strlen(arg_desc);
-        }
-     if(curr >= col3)
-        {
-          printf("\n");
-          curr = 0;
-        }
-     if(opt_help) /* let's print the option's help body */
-        {
-        const char *str = opt_help;
-        while(*str)
-          {
-             while(curr < col3)
-               {
-                 printf(" ");
-                 curr++;
-               }
-             switch(*str)
-               {
-                 case '\n':
-                     printf("\n");
-                     curr = 0;
-                     break;
-                 case '\t':
-                     do
-                        {
-                        printf(" ");
-                        curr++;
-                        }
-                     while((curr - col3) % tabsize != 0 && curr < col4);
-                 case ' ':
-                     if(*str == ' ')
-                        {
-                        curr++;
-                        printf(" ");
-                        }
-                     for(i = 1; str[i] && str[i] != ' ' && str[i] != '\n'
-                        && str[i] != '\t'; i++);
-                     if(curr + i - 1 >= col4)
-                        curr = col4;
-                     break;
-                default:
-                     printf("%c", *str);
-                     curr++;
-               }
-             if(curr >= col4)
-               {
-                 printf("\n");
-                 curr = 0;
-               }
-             str++;
-          }
-        }
-     printf("\n");
-}
-
-void gaa_help(void)
-{
-       printf("Srptool help\nUsage : srptool [options]\n");
-       __gaa_helpsingle('d', "debug", "integer ", "Enable debugging");
-       __gaa_helpsingle('u', "username", "username ", "specify username.");
-       __gaa_helpsingle('p', "passwd", "FILE ", "specify a password file.");
-       __gaa_helpsingle('i', "index", "INDEX ", "specify the index of the group parameters in tpasswd.conf to use.");
-       __gaa_helpsingle('s', "salt", "SALT ", "specify salt size for crypt algorithm.");
-       __gaa_helpsingle(0, "verify", "", "just verify password.");
-       __gaa_helpsingle('c', "passwd-conf", "FILE ", "specify a password conf file.");
-       __gaa_helpsingle(0, "create-conf", "FILE ", "Generate a tpasswd.conf file.");
-       __gaa_helpsingle('v', "version", "", "prints the program's version number");
-       __gaa_helpsingle('h', "help", "", "shows this help text");
-
-#line 100 "gaa.skel"
-}
-/* Copy of C area */
-
-#line 104 "gaa.skel"
-/* GAA HEADER */
-#ifndef GAA_HEADER_POKY
-#define GAA_HEADER_POKY
-
-typedef struct _gaainfo gaainfo;
-
-struct _gaainfo
-{
-#line 37 "srptool.gaa"
-       char *create_conf;
-#line 34 "srptool.gaa"
-       char *passwd_conf;
-#line 31 "srptool.gaa"
-       int verify;
-#line 28 "srptool.gaa"
-       int salt;
-#line 25 "srptool.gaa"
-       int index;
-#line 22 "srptool.gaa"
-       char *passwd;
-#line 19 "srptool.gaa"
-       char *username;
-#line 16 "srptool.gaa"
-       int debug;
-
-#line 114 "gaa.skel"
-};
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-
-    int gaa(int argc, char *argv[], gaainfo *gaaval);
-
-    void gaa_help(void);
-    
-    int gaa_file(const char *name, gaainfo *gaaval);
-    
-#ifdef __cplusplus
-}
-#endif
-
-
-#endif
-
-#line 135 "gaa.skel"
-
-/* C declarations */
-
-#define GAAERROR(x)    \
-{                   \
-gaa_error = 1;      \
-return x;        \
-}
-
-static char *gaa_current_option;
-static int gaa_error = 0;
-
-/* Generated by gaa */
-
-#include <string.h>
-#include <stdlib.h>
-
-
-#define GAA_OK                       -1
-
-#define GAA_ERROR_NOMATCH            0
-#define GAA_ERROR_NOTENOUGH_ARGS     1
-#define GAA_ERROR_INVALID_ARG        2
-#define GAA_ERROR_UNKNOWN            3
-
-#define GAA_NOT_AN_OPTION       0
-#define GAA_WORD_OPTION         1
-#define GAA_LETTER_OPTION       2
-#define GAA_MULTIPLE_OPTION     3
-
-#define GAA_REST                0
-#define GAA_NB_OPTION           10
-#define GAAOPTID_help  1
-#define GAAOPTID_version       2
-#define GAAOPTID_create_conf   3
-#define GAAOPTID_passwd_conf   4
-#define GAAOPTID_verify        5
-#define GAAOPTID_salt  6
-#define GAAOPTID_index 7
-#define GAAOPTID_passwd        8
-#define GAAOPTID_username      9
-#define GAAOPTID_debug 10
-
-#line 168 "gaa.skel"
-
-#define GAA_CHECK1STR(a,b)      \
-if(a[0] == str[0])              \
-{                               \
-    gaa_current_option = a;     \
-    return b;                   \
-}
-
-#define GAA_CHECKSTR(a,b)                \
-if(strcmp(a,str) == 0)                   \
-{                                        \
-    gaa_current_option = a;              \
-    return b;                            \
-}
-
-#define GAA_TESTMOREARGS                                                  \
-if(!OK)                                                                     \
-{                                  \
-while((gaa_last_non_option != gaa_index) && (gaa_arg_used[gaa_index] == 1)) \
-    gaa_index++;                                                            \
-if(gaa_last_non_option == gaa_index)                                        \
-    return GAA_ERROR_NOTENOUGH_ARGS; \
-}
-
-#define GAA_TESTMOREOPTIONALARGS                                                  \
-if(!OK) \
-{ \
-while((gaa_last_non_option != gaa_index) && (gaa_arg_used[gaa_index] == 1)) \
-    gaa_index++;                                                            \
-if(gaa_last_non_option == gaa_index)                                        \
-    OK = 1; \
-}
-
-#define GAA_FILL_2ARGS(target, func)           \
-target = func(GAAargv[gaa_index]);       \
-gaa_arg_used[gaa_index] = 1;             \
-if(gaa_error == 1)                       \
-{                                        \
-    gaa_error = 0;                       \
-    return GAA_ERROR_INVALID_ARG;        \
-} 
-
-
-
-#define GAA_FILL(target, func, num)           \
-if(!OK) \
-{ \
-target = func(GAAargv[gaa_index]);       \
-gaa_arg_used[gaa_index] = 1;             \
-if(gaa_error == 1)                       \
-{                                        \
-    gaa_error = 0;                       \
-    return GAA_ERROR_INVALID_ARG;        \
-} \
-num = 1;  \
-} \
-else \
-{ \
-num = 0; \
-}
-
-#define GAA_LIST_FILL(target, func, type ,num)                      \
-if(!OK) \
-{ \
-num = 0;                                                            \
-target = NULL;                                                      \
-if ( gaa_last_non_option - gaa_index > 0)                           \
-  target = gaa_malloc((gaa_last_non_option - gaa_index) * sizeof(type));\
-for(; gaa_index < gaa_last_non_option; gaa_index++)                 \
-{                                                                   \
-    if(gaa_arg_used[gaa_index] == 0)                                \
-    {                                                               \
-        GAA_FILL_2ARGS(target[num], func);                          \
-        num++;                                                      \
-    }                                                               \
-}                                                                   \
-if(num == 0)                                                        \
-    return GAA_ERROR_NOTENOUGH_ARGS; \
-}
-
-#define GAA_OPTIONALLIST_FILL(target, func, type ,num)                      \
-if(!OK) \
-{ \
-num = 0;                                                            \
-target = NULL;                                                      \
-if ( gaa_last_non_option - gaa_index > 0)                           \
-  target = gaa_malloc((gaa_last_non_option - gaa_index) * sizeof(type));\
-for(; gaa_index < gaa_last_non_option; gaa_index++)                 \
-{                                                                   \
-    if(gaa_arg_used[gaa_index] == 0)                                \
-    {                                                               \
-        GAA_FILL_2ARGS(target[num], func);                                \
-        num++;                                                      \
-    }                                                               \
-} \
-}
-
-#define GAA_OBLIGAT(str)                                            \
-k = 0;                                                              \
-for(i = 0; i < strlen(str); i++)                                    \
-{                                                                   \
-    j = gaa_get_option_num(str + i, GAA_LETTER_OPTION);           \
-    if(j == GAA_ERROR_NOMATCH)                                       \
-    {                                                               \
-        printf("Error: invalid 'obligat' set\n");                  \
-        exit(-1);                                                   \
-    }                                                               \
-    if(opt_list[j] == 1)                                            \
-        k = 1;                                                      \
-}                                                                    \
-if(k == 0)                                                            \
-{                                                                      \
-    if(strlen(str) == 1)                                                \
-        printf("You must give the -%s option\n", str);                     \
-    else                                                                  \
-        printf("You must give at least one option of '%s'\n", str);          \
-    return 0;         \
-}
-        
-#define GAA_INCOMP(str)                                                \
-k = 0;                                                              \
-for(i = 0; i < strlen(str); i++)                                    \
-{                                                                   \
-    j = gaa_get_option_num(str + i, GAA_LETTER_OPTION);           \
-    if(j == GAA_ERROR_NOMATCH)                                      \
-    {                                                               \
-        printf("Error: invalid 'obligat' set\n");                  \
-        exit(-1);                                                   \
-    }                                                               \
-    if(opt_list[j] == 1)                                            \
-        k++;                                                      \
-}                   \
-if(k > 1)                                                            \
-{                                                                      \
-    printf("The options '%s' are incompatible\n", str);              \
-    return 0;                                                          \
-}
-        
-
-static char **GAAargv;
-static int GAAargc;
-static char *gaa_arg_used;
-static int gaa_processing_file = 0;
-static int inited = 0;
-
-static int gaa_getint(char *arg)
-{
-    int tmp;
-    char a;
-    if(sscanf(arg, "%d%c", &tmp, &a) < 1)
-    {
-        printf("Option %s: '%s' isn't an integer\n", gaa_current_option, arg);
-        GAAERROR(-1);
-    }
-    return tmp;
-}
-
-static char gaa_getchar(char *arg)
-{
-    if(strlen(arg) != 1)
-    {
-        printf("Option %s: '%s' isn't an character\n", gaa_current_option, arg);
-        GAAERROR(-1);
-    }
-    return arg[0];
-}
-
-static char* gaa_getstr(char *arg)
-{
-    return arg;
-}
-static float gaa_getfloat(char *arg)
-{
-    float tmp;
-    char a;
-    if(sscanf(arg, "%f%c", &tmp, &a) < 1)
-    {
-        printf("Option %s: '%s' isn't a float number\n", gaa_current_option, arg);
-        GAAERROR(-1);
-    }
-    return tmp;
-}
-/* option structures */
-
-struct GAAOPTION_create_conf 
-{
-       char* arg1;
-       int size1;
-};
-
-struct GAAOPTION_passwd_conf 
-{
-       char* arg1;
-       int size1;
-};
-
-struct GAAOPTION_salt 
-{
-       int arg1;
-       int size1;
-};
-
-struct GAAOPTION_index 
-{
-       int arg1;
-       int size1;
-};
-
-struct GAAOPTION_passwd 
-{
-       char* arg1;
-       int size1;
-};
-
-struct GAAOPTION_username 
-{
-       char* arg1;
-       int size1;
-};
-
-struct GAAOPTION_debug 
-{
-       int arg1;
-       int size1;
-};
-         
-#line 349 "gaa.skel"
-static int gaa_is_an_argument(char *str)
-{
-#ifdef GAA_WIN32
-    if(str[0] == '/' && str[1] != 0)
-       return GAA_MULTIPLE_OPTION;
-#endif
-    if(str[0] != '-')
-        return GAA_NOT_AN_OPTION;
-    if(str[1] == 0)
-        return GAA_NOT_AN_OPTION;
-    if(str[1] == '-')
-    {
-        if(str[2] != 0)
-            return GAA_WORD_OPTION;
-        else
-            return GAA_NOT_AN_OPTION;
-    }
-    if(str[2] == 0)
-        return GAA_LETTER_OPTION;
-    else
-        return GAA_MULTIPLE_OPTION;
-}
-
-static int gaa_get_option_num(char *str, int status)
-{
-    switch(status)
-        {
-        case GAA_LETTER_OPTION:
-                       GAA_CHECK1STR("", GAAOPTID_create_conf);
-                       GAA_CHECK1STR("c", GAAOPTID_passwd_conf);
-                       GAA_CHECK1STR("s", GAAOPTID_salt);
-                       GAA_CHECK1STR("i", GAAOPTID_index);
-                       GAA_CHECK1STR("p", GAAOPTID_passwd);
-                       GAA_CHECK1STR("u", GAAOPTID_username);
-                       GAA_CHECK1STR("d", GAAOPTID_debug);
-        case GAA_MULTIPLE_OPTION:
-#line 375 "gaa.skel"
-                       GAA_CHECK1STR("h", GAAOPTID_help);
-                       GAA_CHECK1STR("v", GAAOPTID_version);
-                       GAA_CHECK1STR("", GAAOPTID_verify);
-
-#line 277 "gaa.skel"
-        break;
-        case GAA_WORD_OPTION:
-                       GAA_CHECKSTR("help", GAAOPTID_help);
-                       GAA_CHECKSTR("version", GAAOPTID_version);
-                       GAA_CHECKSTR("create-conf", GAAOPTID_create_conf);
-                       GAA_CHECKSTR("passwd-conf", GAAOPTID_passwd_conf);
-                       GAA_CHECKSTR("verify", GAAOPTID_verify);
-                       GAA_CHECKSTR("salt", GAAOPTID_salt);
-                       GAA_CHECKSTR("index", GAAOPTID_index);
-                       GAA_CHECKSTR("passwd", GAAOPTID_passwd);
-                       GAA_CHECKSTR("username", GAAOPTID_username);
-                       GAA_CHECKSTR("debug", GAAOPTID_debug);
-
-#line 281 "gaa.skel"
-       break;
-        default: break;
-        }
-    return GAA_ERROR_NOMATCH;
-}
-
-static int gaa_try(int gaa_num, int gaa_index, gaainfo *gaaval, char *opt_list)
-{
-    int OK = 0;
-    int gaa_last_non_option;
-       struct GAAOPTION_create_conf GAATMP_create_conf;
-       struct GAAOPTION_passwd_conf GAATMP_passwd_conf;
-       struct GAAOPTION_salt GAATMP_salt;
-       struct GAAOPTION_index GAATMP_index;
-       struct GAAOPTION_passwd GAATMP_passwd;
-       struct GAAOPTION_username GAATMP_username;
-       struct GAAOPTION_debug GAATMP_debug;
-
-#line 393 "gaa.skel"
-#ifdef GAA_REST_EXISTS
-    struct GAAREST GAAREST_tmp;
-#endif
-
-    opt_list[gaa_num] = 1;
-    
-    for(gaa_last_non_option = gaa_index;
-        (gaa_last_non_option != GAAargc) && (gaa_is_an_argument(GAAargv[gaa_last_non_option]) == GAA_NOT_AN_OPTION);
-        gaa_last_non_option++);
-
-    if(gaa_num == GAA_REST)
-    {
-        gaa_index = 1;
-        gaa_last_non_option = GAAargc;
-    }
-    
-    switch(gaa_num)
-    {
-       case GAAOPTID_help:
-       OK = 0;
-#line 41 "srptool.gaa"
-{ gaa_help(); exit(0); ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_version:
-       OK = 0;
-#line 40 "srptool.gaa"
-{ srptool_version(); exit(0); ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_create_conf:
-       OK = 0;
-               GAA_TESTMOREARGS;
-               GAA_FILL(GAATMP_create_conf.arg1, gaa_getstr, GAATMP_create_conf.size1);
-               gaa_index++;
-#line 38 "srptool.gaa"
-{ gaaval->create_conf = GAATMP_create_conf.arg1 ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_passwd_conf:
-       OK = 0;
-               GAA_TESTMOREARGS;
-               GAA_FILL(GAATMP_passwd_conf.arg1, gaa_getstr, GAATMP_passwd_conf.size1);
-               gaa_index++;
-#line 35 "srptool.gaa"
-{ gaaval->passwd_conf = GAATMP_passwd_conf.arg1 ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_verify:
-       OK = 0;
-#line 32 "srptool.gaa"
-{ gaaval->verify = 1 ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_salt:
-       OK = 0;
-               GAA_TESTMOREARGS;
-               GAA_FILL(GAATMP_salt.arg1, gaa_getint, GAATMP_salt.size1);
-               gaa_index++;
-#line 29 "srptool.gaa"
-{ gaaval->salt = GAATMP_salt.arg1 ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_index:
-       OK = 0;
-               GAA_TESTMOREARGS;
-               GAA_FILL(GAATMP_index.arg1, gaa_getint, GAATMP_index.size1);
-               gaa_index++;
-#line 26 "srptool.gaa"
-{ gaaval->index = GAATMP_index.arg1 ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_passwd:
-       OK = 0;
-               GAA_TESTMOREARGS;
-               GAA_FILL(GAATMP_passwd.arg1, gaa_getstr, GAATMP_passwd.size1);
-               gaa_index++;
-#line 23 "srptool.gaa"
-{ gaaval->passwd = GAATMP_passwd.arg1 ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_username:
-       OK = 0;
-               GAA_TESTMOREARGS;
-               GAA_FILL(GAATMP_username.arg1, gaa_getstr, GAATMP_username.size1);
-               gaa_index++;
-#line 20 "srptool.gaa"
-{ gaaval->username = GAATMP_username.arg1 ;};
-
-               return GAA_OK;
-               break;
-       case GAAOPTID_debug:
-       OK = 0;
-               GAA_TESTMOREARGS;
-               GAA_FILL(GAATMP_debug.arg1, gaa_getint, GAATMP_debug.size1);
-               gaa_index++;
-#line 17 "srptool.gaa"
-{ gaaval->debug = GAATMP_debug.arg1 ;};
-
-               return GAA_OK;
-               break;
-
-#line 413 "gaa.skel"
-    default: break;
-    }
-    return GAA_ERROR_UNKNOWN;
-}
-
-int gaa(int argc, char **argv, gaainfo *gaaval)
-{
-    int tmp1, tmp2;
-    int i, j;
-    char *opt_list;
-
-    GAAargv = argv;
-    GAAargc = argc;
-
-    opt_list = (char*) gaa_malloc(GAA_NB_OPTION + 1);
-
-    for(i = 0; i < GAA_NB_OPTION + 1; i++)
-        opt_list[i] = 0;
-    /* initialization */
-    if(inited == 0)
-    {
-
-#line 43 "srptool.gaa"
-{ gaaval->username=NULL; gaaval->passwd=NULL; gaaval->salt=0;
-       gaaval->create_conf=NULL; gaaval->passwd_conf=NULL; gaaval->verify = 0; 
-       gaaval->index = 1; gaaval->debug = 0; ;};
-
-    }
-    inited = 1;
-#line 438 "gaa.skel"
-    gaa_arg_used = NULL;
-
-    if (argc > 0) {
-      gaa_arg_used = gaa_malloc(argc * sizeof(char));
-    }
-
-    for(i = 1; i < argc; i++)
-        gaa_arg_used[i] = 0;
-    for(i = 1; i < argc; i++)
-    {
-        if(gaa_arg_used[i] == 0)
-        {
-            j = 0;
-            tmp1 = gaa_is_an_argument(GAAargv[i]);
-            switch(tmp1)
-            {
-            case GAA_WORD_OPTION:
-                j++;
-            case GAA_LETTER_OPTION:
-                j++;
-                tmp2 = gaa_get_option_num(argv[i]+j, tmp1);
-                if(tmp2 == GAA_ERROR_NOMATCH)
-                {
-                    printf("Invalid option '%s'\n", argv[i]+j);
-                    return 0;
-                }
-                switch(gaa_try(tmp2, i+1, gaaval, opt_list))
-                {
-                case GAA_ERROR_NOTENOUGH_ARGS:
-                    printf("'%s': not enough arguments\n",gaa_current_option);
-                    return 0;
-                case GAA_ERROR_INVALID_ARG:
-                    printf("Invalid arguments\n");
-                    return 0;
-                case GAA_OK:
-                    break;
-                default:
-                    printf("Unknown error\n");
-                }
-                gaa_arg_used[i] = 1;
-                break;
-            case GAA_MULTIPLE_OPTION:
-                for(j = 1; j < strlen(argv[i]); j++)
-                {
-                    tmp2 = gaa_get_option_num(argv[i]+j, tmp1);
-                    if(tmp2 == GAA_ERROR_NOMATCH)
-                    {
-                        printf("Invalid option '%c'\n", *(argv[i]+j));
-                        return 0;
-                    }
-                    switch(gaa_try(tmp2, i+1, gaaval, opt_list))
-                    {
-                    case GAA_ERROR_NOTENOUGH_ARGS:
-                        printf("'%s': not enough arguments\n",gaa_current_option);
-                        return 0;
-                    case GAA_ERROR_INVALID_ARG:
-                        printf("Invalid arguments\n");
-                        return 0;
-                    case GAA_OK:
-                        break;
-                    default:
-                        printf("Unknown error\n");
-                    }
-                }
-                gaa_arg_used[i] = 1;
-                break;
-            default: break;
-            }
-        }
-    }
-if(gaa_processing_file == 0)
-{
-
-#line 507 "gaa.skel"
-#ifdef GAA_REST_EXISTS
-    switch(gaa_try(GAA_REST, 1, gaaval, opt_list))
-    {
-    case GAA_ERROR_NOTENOUGH_ARGS:
-        printf("Rest: not enough arguments\n");
-        return 0;
-    case GAA_ERROR_INVALID_ARG:
-        printf("Invalid arguments\n");
-        return 0;
-    case GAA_OK:
-        break;
-    default:
-        printf("Unknown error\n");
-    }
-#endif
-}
-    for(i = 1; i < argc; i++)
-    {
-        if(gaa_arg_used[i] == 0)
-        {
-            printf("Too many arguments\n");
-            return 0;
-        }
-    }
-    free(gaa_arg_used);
-    free(opt_list);
-    return -1;
-}
-
-struct gaastrnode
-{
-    char *str;
-    struct gaastrnode *next;
-};
-
-typedef struct gaastrnode gaa_str_node;
-
-static int gaa_internal_get_next_str(FILE *file, gaa_str_node *tmp_str, int argc)
-{
-    int pos_ini;
-    int a;
-    int i = 0, len = 0, newline = 0;
-
-    if(argc == 1) {
-        newline = 1;
-        len = 2;
-    }
-    
-    a = fgetc( file);
-    if (a == EOF) return 0;
-
-    while(a == ' ' || a == 9 || a == '\n')
-    {
-        if(a == '\n')
-        {
-            newline=1;
-            len = 2;
-        }
-        a = fgetc( file);
-        if (a == EOF) return 0;
-    }
-
-    pos_ini = ftell(file) - 1;
-
-    while(a != ' ' && a != 9 && a != '\n')
-    {
-
-        len++;
-        a = fgetc( file);
-        if(a==EOF) return 0; //a = ' ';
-    }
-
-    len += 1;
-    tmp_str->str = gaa_malloc((len) * sizeof(char));
-
-    if(newline == 1)
-    {
-        tmp_str->str[0] = '-';
-        tmp_str->str[1] = '-';
-        i = 2;
-    }
-    else
-    {
-        i = 0;
-    }
-
-    fseek(file,pos_ini, SEEK_SET);
-    do
-    {
-        a = fgetc( file);
-
-        if (a == EOF) {
-            i+=2;
-            break;
-        }
-        tmp_str->str[i] = a;
-        i++;
-    }
-    while(a != ' ' && a != 9 && a != '\n' && i < len);
-
-    tmp_str->str[i - 1] = 0;
-
-    fseek(file,- 1, SEEK_CUR);
-/*    printf("%d\n", ftell(file)); */
-    
-    return -1;
-}
-
-int gaa_file(const char *name, gaainfo *gaaval)
-{
-    gaa_str_node *first_str, **tmp_str, *tmp_str2;
-    int rval, i;
-    char **argv;
-    int argc = 0;
-    FILE *file;
-
-    gaa_processing_file = 1;
-    
-    if((file = fopen(name, "r")) == NULL)
-    {
-        printf("Couldn't open '%s' configuration file for reading\n", name);
-        return 1;
-    }
-    
-    tmp_str = &first_str;
-    do
-    {
-        argc++;
-        *tmp_str = gaa_malloc(sizeof(gaa_str_node));
-
-        (*tmp_str)->str = NULL;
-        (*tmp_str)->next = NULL;
-
-        rval = gaa_internal_get_next_str(file, *tmp_str, argc);
-        tmp_str = &((*tmp_str)->next);
-    }
-    while(rval == -1);
-    
-    if(rval == 1)
-        return 0;
-    
-    argv = gaa_malloc((1 + argc) * sizeof(char*));
-
-    tmp_str2 = first_str;
-    argv[0] = "cfg";
-    for(i = 1; i < argc; i++)
-    {
-        argv[i] = tmp_str2->str;
-        tmp_str2 = tmp_str2->next;
-    }
-
-    rval = gaa(argc, argv, gaaval);
-    gaa_processing_file = 0;
-    return rval;
-}
diff --git a/src/srptool-gaa.h b/src/srptool-gaa.h
deleted file mode 100644 (file)
index 585238d..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-
-#line 104 "gaa.skel"
-/* GAA HEADER */
-#ifndef GAA_HEADER_POKY
-#define GAA_HEADER_POKY
-
-typedef struct _gaainfo gaainfo;
-
-struct _gaainfo
-{
-#line 37 "srptool.gaa"
-       char *create_conf;
-#line 34 "srptool.gaa"
-       char *passwd_conf;
-#line 31 "srptool.gaa"
-       int verify;
-#line 28 "srptool.gaa"
-       int salt;
-#line 25 "srptool.gaa"
-       int index;
-#line 22 "srptool.gaa"
-       char *passwd;
-#line 19 "srptool.gaa"
-       char *username;
-#line 16 "srptool.gaa"
-       int debug;
-
-#line 114 "gaa.skel"
-};
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-
-    int gaa(int argc, char *argv[], gaainfo *gaaval);
-
-    void gaa_help(void);
-    
-    int gaa_file(const char *name, gaainfo *gaaval);
-    
-#ifdef __cplusplus
-}
-#endif
-
-
-#endif