| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/argparse.c (_gpgrt_argparse): Factor some code out to ...
(prepare_arg_return): new.
(_gpgrt_argparse): No missing arg error in ignore sections.
--
Options in an [ignore] section do not anymore lead to an error if an
argument is missing. However, if the option is also in a force
section the error is thrown.
Signed-off-by: Werner Koch <[email protected]>
|
|
|
|
|
|
|
|
|
| |
* configure.ac (CROSS_HOST_OBJDUMP): Remove, but use AC_CHECK_TOOL.
--
Co-authored-by: John Ericson
Signed-off-by: NIIBE Yutaka <[email protected]>
|
|
|
|
|
|
| |
* src/gpg-error.m4: Replace AC_HELP_STRING to AS_HELP_STRING.
Signed-off-by: NIIBE Yutaka <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* configure.ac Replace AC_GNU_SOURCE to Use AC_USE_SYSTEM_EXTENSIONS.
Replace AC_HELP_STRING to AS_HELP_STRING.
* m4/estream.m4: Replace AC_TRY_LINK to AC_LINK_IFELSE.
* m4/gnupg-misc.m4: Replace AC_TRY_COMPILE to AC_COMPILE_IFELSE.
* m4/libtool.m4: Use AC_LANG_PUSH/AC_LANG_POP instead of
AC_LANG_SAVE/AC_LANG_RESTORE.
* m4/readline.m4: Replace AC_HELP_STRING to AS_HELP_STRING.
Fix quote for _combo.
* m4/threadlib.m4: Replace AC_HELP_STRING to AS_HELP_STRING.
Signed-off-by: NIIBE Yutaka <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/gpg-error.h.in (gpgrt_access): New.
* src/gpg-error.vers. src/gpg-error.def.in: Add new function.
* src/sysutils.c (any8bitchar): New.
(_gpgrt_access): New.
* src/visibility.c (gpgrt_access): New.
* src/spawn-w32.c (_gpgrt_spawn_process_detached): Use it.
* src/argparse.c (try_versioned_conffile): Use it.
* tests/t-stringutils.c (check_access): New simple test.
--
This is basically a wrapper to allow handling of utf8 encoded file
names on Windows. This also fixes the case for versioned config files
in directories with non-ascii characters.
The new test needs to be run manually on Windows using a directory
with Unicode characters.
GnuPG-bug-id: 5098
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/sysutils.c (_gpgrt_getcwd) [W32]: Implement utf-8 support.
* src/w32-gettext.c (wchar_to_native): Factor some code out to ..
(wchar_to_cp): new.
(_gpgrt_wchar_to_utf8): New.
* tests/t-stringutils.c: Include windows.h.
(utf8_to_wchar): New.
(wchar_to_utf8): New.
(mygetcwd): Use wchar version for Windows.
(main): New option --pwd.
|
|
|
|
| |
--
|
|
|
|
|
|
| |
--
Signed-off-by: NIIBE Yutaka <[email protected]>
|
|
|
|
| |
--
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/protos.h: New.
* src/Makefile.am (libgpg_error_la_SOURCES): Add file.
* src/gpgrt-int.h: Include protos.h.
* src/sysutils.c (_gpgrt_mkdir) [W32]: Make UTF-8 aware.
(_gpgrt_chdir) [W32]: Ditto.
* src/w32-gettext.c: Include protos.h.
(utf8_to_wchar): Allow for strings.
(_gpgrt_utf8_to_wchar): New.
(_gpgrt_free_wchar): New.
* src/estream.c (map_w32_to_errno): Add more error codes.
(_gpgrt_w32_set_errno): New.
(any8bitchar) [W32]: New helper.
(func_file_create) [W32]: Convert file name and use _wopen.
--
GnuPG-bug-id: 4083
Signed-off-by: Werner Koch <[email protected]>
|
|
|
|
|
|
| |
* src/argparse.c (arg_parse): Avoid null dereference when ARGC is wrong.
Signed-off-by: NIIBE Yutaka <[email protected]>
|
|
|
|
|
|
|
|
| |
* src/argparse.c (ARGPARSE_FLAG__INITIALIZED): Make sure it is an
unsigned int.
--
GnuPG-bug-id: 5026
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/w32-estream.c (_gpgrt_w32_poll): Sleep if there are no handles
to wait for.
--
This better matches the semantics of poll and select and avoid busy
waitins. We had this problem for example in the LDAP helper process
reaper of GnuPG's Dirmngr.
Signed-off-by: Werner Koch <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
* src/gpg-error.c (main): Add printing code.
--
This was lost while changing to the included option parser back in
2018. The new code also does some prettying of the output.
Fixes-commit: 11ce9bc3d6fe75859e18112824ae7ec3ca0fc8df
Signed-off-by: Werner Koch <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
* src/gpgrt-config.in (get_attr_l): New.
(all_required_config_files): Use get_attr_l.
--
GnuPG-bug-id: 5010
Signed-off-by: NIIBE Yutaka <[email protected]>
|
|
|
|
|
|
|
| |
* src/gpg-error.def.in (gpgrt_fcancel): Add.
Fixes-commit: 3413489d25577e3fe7f529b8e610a45d2bd1857c
Signed-off-by: NIIBE Yutaka <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/estream.c (do_close): Add arg 'cancel_mode' and chnage all
callers.
(_gpgrt_fcancel): New.
* src/gpg-error.def.in, src/gpg-error.vers: Add function.
* src/visibility.c (gpgrt_fcancel): New.
* src/gpg-error.h.in (gpgrt_fcancel): New.
--
Signed-off-by: Werner Koch <[email protected]>
|
|
|
|
|
|
|
| |
* src/gpg-error-config-test.sh.in: Clear PKG_CONFIG_SYSROOT_DIR.
GnuPG-bug-id: 4973
Signed-off-by: NIIBE Yutaka <[email protected]>
|
|
|
|
|
|
|
| |
* configure.ac: Mistake, then, fix it.
Fixes-commit: ce97528fa3dcc58d86e18d4d8820f210a624f63d
Signed-off-by: NIIBE Yutaka <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* configure.ac [*-*-linux*] (CROSS_HOST_OBJDUMP): New.
--
To support widely, we could also use objdump configured for multiple
archs which supports host's format (instead of $host_alias-objdump),
like objdump in binutils-multiarch of Debian, but it's not that easy
to maintain the code to determine format name from $host_alias.
Or we could use eu-size in elfutils.
GnuPG-bug-id: 4973
Signed-off-by: NIIBE Yutaka <[email protected]>
|
|
|
|
|
|
|
|
|
| |
* configure.ac: Create the src directory before writing into it.
* src/Makefile.am (EXTRA_DIST): Add gen-lock-obj.sh.
--
Signed-off-by: David Michael <[email protected]>
|
|
|
|
| |
--
|
| |
|
|
|
|
| |
--
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/syscfg/lock-obj-pub.mips64-unknown-linux-gnuabi64.h: new.
* src/Makefile.am (lock_obj_pub): Add it.
--
This information was dervied and reported by YunQiang Su
<[email protected]>.
GnuPG-bug-id: 4952
Debian-bug-id: 960161
Signed-off-by: Daniel Kahn Gillmor <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* configure.ac (HAVE_GENERATED_LOCK_OBJ_H): New.
* src/Makefile.am: Support HAVE_GENERATED_LOCK_OBJ_H.
--
For cross build, when possible (currently for GNU/Linux),
generate lock-obj-pub.native.h by the script.
GnuPG-bug-id: 4774
Signed-off-by: NIIBE Yutaka <[email protected]>
|
|
|
|
|
|
| |
* src/gen-lock-obj.sh: New.
Signed-off-by: NIIBE Yutaka <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
* src/argparse.c (handle_meta_echo): Substitue some vars.
(handle_meta_user): Factor some code out to ...
(assure_username): new.
--
Yeah, that is not really needed but might sometimes be helpful.
Signed-off-by: Werner Koch <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
* src/argparse.c (initialize): Clear username.
* src/sysutils.c (_gpgrt_getusername): Implement for Windows.
--
This also fixes a missing intialization
Signed-off-by: Werner Koch <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/sysutils.c (_gpgrt_getusername): New.
* src/argparse.c (struct _gpgrt_argparse_internal_s): New flags user_*
and store the current user.
(initialize): Free new malloced field. Clear new flags.
(handle_meta_user): Implement.
(handle_metacmd): Implement user sections. Remove "group" meta
command.
(_gpgrt_argparse): Implement user sections.
(finish_read_sys): Reset new vars.
--
Implementing group would be somewhat complicated and it is doubtful
whether this really makes sense and is manageable for the admin.
Note that we have not yet implemented this for Windows.
Signed-off-by: Werner Koch <[email protected]>
|
|
|
|
|
|
|
| |
* src/argparse.c (show_help): Do not print empty sections between
headers.
Signed-off-by: Werner Koch <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/gpg-error.h.in (ARGPARSE_OPT_HEADER): New.
(ARGPARSE_OPT_VERBATIM): New.
(ARGPARSE_verbatim): New.
(ARGPARSE_header): New.
* src/argparse.c (show_help): Implement them.
--
These two macros are useful for custom help screens. In contrast to
the ARGPARSE_group hack they do not need a short option number (we use
1 here as a surrogate) and not the "@" hack. Thus already translated
strings can be used. ARGPARSE_header further allows to specify a
symbolic name for the group and does some minor formatting. If such a
symbolic name is given --dump-option-table also emits this as a pseudo
option for consumption by GUIs which for example use tabs to group
options.
Signed-off-by: Werner Koch <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/init.c (_gpgrt_reallocarray): New.
* src/visibility.c (gpgrt_reallocarray): New.
* src/gpg-error.vers, src/gpg-error.def.in: Add new function.
* src/gpg-error.h.in: Add new interface.
* tests/t-malloc.c: New.
* tests/Makefile.am (TESTS): Add new test.
--
Note that this function is different from the glibc function because
it has an extra parameter which allows to clear the new elements. A
realloc after a calloc with forgotten memset after it is a common
source of error, thus we introduce this slightly different function.
Signed-off-by: Werner Koch <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
* src/argparse.c (initialize): Increase number of extra slots.
--
I should really buy the valgrind authors a beer.
Fixes-commit: db95feab16e32309a4bfb382827c495c2c49920c
Signed-off-by: Werner Koch <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/argparse.c (initialize): Add new internal option.
(arg_parse): Implement that option.
(dump_option_table): New.
(show_help): Remove exit and let the caller call my_exit.
--
This options allows us to get a copy of the option table.
Signed-off-by: Werner Koch <[email protected]>
|
|
|
|
|
|
|
| |
* src/argparse.c (writestrings): Use that function to match what we
are doing in flushstrings.
Signed-off-by: Werner Koch <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/gpg-error.h.in (ARGPARSE_FLAG_WITHATTR): New.
(ARGPARSE_ATTR_FORCE): New.
(ARGPARSE_ATTR_IGNORE): New.
(ARGPARSE_TYPE_MASK): Moved from argparse.c to here.
* src/argparse.c: Always use macros for constants.
(_gpgrt_argparse): Handle ARGPARSE_FLAG_WITHATTR.
(arg_parse): Ditto.
* tests/t-argparse.c (main): Add commented test case.
--
This is a ABI compatible hack to allow the ignore and force attributes
as well as to return which option has been ignored in a user file or
on the command line.
Signed-off-by: Werner Koch <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/argparse.c (opttable_t): Add new flags forced, ignore, and
explicit_ignore.
(struct _gpgrt_argparse_internal_s): Change flags to bitflags. Add
several flags to support meta commands.
(initialize): Clear them.
(handle_meta_user): Use the new verbose flag.
(handle_meta_force): Implement.
(handle_meta_ignore): Implement.
(handle_meta_echo): Support "-echo".
(handle_meta_verbose): New.
(handle_metacmd): New meta command verbose. Add always flag and move
the detection of unexpected meta commands to here.
(_gpgrt_argparse): Make use of the ignore and forced meta commands.
(finish_read_sys): New.
(_gpgrt_argparser): Support the verbose flag. Call finish_read_sys.
(arg_parse): Ignore non-explicit ignored and all forced options.
* tests/t-argparse.c (main): Fix printing of the ARGPARSE_CONFFILE
case. New option 'M'.
* tests/t-argparse.conf, tests/etc/t-argparse.conf: Various changes to
test the new meta commands.
--
For the command line we print a diagnostic if an ignored or forced
options is used. However, we do not ignore options which are only set
via [ignore-all]. The rationale for the latter is that an
administrator can't be be required to unignore all options used by all
modes, of say gpgme.
Documentation of the meta commands will for now be added to GnuPG.
GnuPG-bug-id: 4788
Signed-off-by: Werner Koch <[email protected]>
|
|
|
|
| |
* src/argparse.c (arg_parse): Fix it here.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/argparse.c (handle_meta_user): New stub.
(handle_meta_force): New stub.
(handle_meta_ignore): New stub.
(handle_meta_echo): New.
(handle_metacmd): New.
(_gpgrt_argparse): Call meta command handler.
--
GnuPG-bug-id: 4788
Signed-off-by: Werner Koch <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/argparse.c (opttable_t): New.
(struct _gpgrt_argparse_internal_s): Use this instead of a ppointer to
gpgrt_opt_t.
(initialize): Copy options to the new tableand keep an original ordinal.
(_gpgrt_argparse): Adjust for changes.
(any_opt_conffile): Ditto.
(find_long_option): Ditto.
(arg_parse): Ditto.
(long_opt_strlen): Adjust args.
(cmp_ordtbl): New.
(show_help): Print using the ordinal numbers.
--
We will need to keep extra information along with the options. This
changes prepares this by using a copy of the user provided option
table. The only new info is the original ordinal number which will
allow us to eventually do a binary search on the options but still be
able to print the help in the user defined way.
GnuPG-bug-id: 4788
Signed-off-by: Werner Koch <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/gpg-error.h.in (ARGPARSE_INVALID_META): New
(ARGPARSE_UNKNOWN_META, ARGPARSE_UNEXPECTED_META): New.
* src/argparse.c (struct _gpgrt_argparse_internal_s): Add flag
insysconfig.
(initialize): Init flag. Add error strings.
(_gpgrt_argparser): Set that flag.
(_gpgrt_argparse): Add parsing of meta commands.
* tests/etc/t-argparse.conf: Add some test cases.
* tests/t-argparse.conf: Ditto.
* tests/t-argparse.c (main): Die only after printing all warnings.
--
Noe that this is just the framework to add meta commands to the global
config file. We also need to get away from fixes test config files
and create them on the fly to that we are able to test also errors.
GnuPG-bug-id: 4788
|
|
|
|
|
|
| |
* src/argparse.c (_gpgrt_argparse): Fold common code.
Signed-off-by: Werner Koch <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/argparse.c (_gpgrt_argparse): Use enum for the states and
replace continue and break.
--
The use of continue and break in the endless loop if confusing due to
the size of the loop's body and because there are also inner for
loops with break. It is better to make things explicit by using goto.
Signed-off-by: Werner Koch <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/gpg-error.h.in (ARGPARSE_FLAG_USERVERS): New.
* src/argparse.c: Include unistd.h.
(try_versioned_conffile): New.
(_gpgrt_argparser): Use it.
--
This is neded to bring the versioned config files back to gpg.
Signed-off-by: Werner Koch <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
* src/gpg-error.h.in (ARGPARSE_PERMISSION_ERROR): New.
* src/argparse.c (initialize): Add code to print this error.
--
We need this option to reject certain config files if we detect a
permission problem.
Signed-off-by: Werner Koch <[email protected]>
|
|
|
|
|
|
| |
* src/gpg-error.def.in (gpgrt_argparser): Fix typo.
Signed-off-by: NIIBE Yutaka <[email protected]>
|