From a1794a4775f9a74f5ffa2224c0e3d26d2aaecb22 Mon Sep 17 00:00:00 2001 From: TLINDEN Date: Sun, 3 Nov 2013 14:50:03 +0100 Subject: [PATCH] always use lowercase version of emailadresses. --- configure | 5 +- configure.ac | 5 +- libpcp/config.h.in | 6 ++ libtool | 114 ++++++++++++++------------------- src/keymgmt.c | 11 +++- src/keymgmt.h | 2 + tests/env/alicia/.bash_history | 19 ++++++ tests/env/alicia/.pcpvault | Bin 1512 -> 2300 bytes tests/env/bobby/.bash_history | 11 ++++ 9 files changed, 102 insertions(+), 71 deletions(-) diff --git a/configure b/configure index d55d39b..22e88ef 100755 --- a/configure +++ b/configure @@ -12307,7 +12307,7 @@ fi for ac_header in errno.h err.h stdlib.h string.h unistd.h stdio.h getopt.h\ limits.h stddef.h stdint.h sys/types.h sys/stat.h endian.h \ - sys/endian.h termios.h arpa/inet.h netinet/in.h + sys/endian.h termios.h arpa/inet.h netinet/in.h wctype.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" @@ -12355,7 +12355,8 @@ for ac_func in \ tcgetattr \ be32toh \ htobe32 \ - umask + umask \ + towlower do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` diff --git a/configure.ac b/configure.ac index 63d5e44..f228d6c 100755 --- a/configure.ac +++ b/configure.ac @@ -28,7 +28,7 @@ AC_CANONICAL_HOST AC_HEADER_STDC AC_CHECK_HEADERS(errno.h err.h stdlib.h string.h unistd.h stdio.h getopt.h\ limits.h stddef.h stdint.h sys/types.h sys/stat.h endian.h \ - sys/endian.h termios.h arpa/inet.h netinet/in.h) + sys/endian.h termios.h arpa/inet.h netinet/in.h wctype.h) AC_TYPE_SIZE_T @@ -54,7 +54,8 @@ AC_CHECK_FUNCS( \ tcgetattr \ be32toh \ htobe32 \ - umask + umask \ + towlower ) AC_MSG_CHECKING([compiler and flags for sanity]) diff --git a/libpcp/config.h.in b/libpcp/config.h.in index 20c5966..b460bd1 100644 --- a/libpcp/config.h.in +++ b/libpcp/config.h.in @@ -123,12 +123,18 @@ /* Define to 1 if you have the header file. */ #undef HAVE_TERMIOS_H +/* Define to 1 if you have the `towlower' function. */ +#undef HAVE_TOWLOWER + /* Define to 1 if you have the `umask' function. */ #undef HAVE_UMASK /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H +/* Define to 1 if you have the header file. */ +#undef HAVE_WCTYPE_H + /* Define to the sub-directory in which libtool stores uninstalled libraries. */ #undef LT_OBJDIR diff --git a/libtool b/libtool index 3a2fa52..4e7d4e4 100755 --- a/libtool +++ b/libtool @@ -6,8 +6,8 @@ # NOTE: Changes made to this file will be lost: look at ltmain.sh. # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. +# 2006, 2007, 2008, 2009, 2010 Free Software Foundation, +# Inc. # Written by Gordon Matzigkeit, 1996 # # This file is part of GNU Libtool. @@ -40,8 +40,8 @@ available_tags="" # ### BEGIN LIBTOOL CONFIG # Which release of libtool.m4 was used? -macro_version=2.4.2 -macro_revision=1.3337 +macro_version=2.4 +macro_revision=1.3293 # Whether or not to build shared libraries. build_libtool_libs=yes @@ -61,9 +61,6 @@ SHELL="/bin/sh" # An echo program that protects backslashes. ECHO="printf %s\\n" -# The PATH separator for the build system. -PATH_SEPARATOR=":" - # The host system. host_alias= host=amd64-unknown-freebsd9.0 @@ -154,7 +151,7 @@ STRIP="strip" # Commands used to install an old-style archive. RANLIB="ranlib" -old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$tool_oldlib" +old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$oldlib" old_postuninstall_cmds="" # Whether to use a lock for old archive extraction. @@ -299,7 +296,7 @@ reload_flag=" -r" reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs" # Commands used to build an old-style archive. -old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs~\$RANLIB \$tool_oldlib" +old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs~\$RANLIB \$oldlib" # A language specific compiler. CC="gcc" @@ -365,6 +362,10 @@ no_undefined_flag="" # This must work even if $libdir does not exist hardcode_libdir_flag_spec="\${wl}-rpath \${wl}\$libdir" +# If ld is used when linking, flag to hardcode $libdir into a binary +# during linking. This must work even if $libdir does not exist. +hardcode_libdir_flag_spec_ld="" + # Whether we need a single "-rpath" flag with a separated argument. hardcode_libdir_separator="" @@ -425,11 +426,11 @@ hardcode_action=immediate # ### END LIBTOOL CONFIG -# libtool (GNU libtool) 2.4.2 +# libtool (GNU libtool) 2.4 # Written by Gordon Matzigkeit , 1996 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. +# 2007, 2008, 2009, 2010 Free Software Foundation, Inc. # This is free software; see the source for copying conditions. There is NO # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. @@ -467,7 +468,6 @@ hardcode_action=immediate # --quiet, --silent don't print informational messages # --no-quiet, --no-silent # print informational messages (default) -# --no-warn don't display warning messages # --tag=TAG use configuration variables from tag TAG # -v, --verbose print more informational messages than default # --no-verbose don't print the extra informational messages @@ -496,7 +496,7 @@ hardcode_action=immediate # compiler: $LTCC # compiler flags: $LTCFLAGS # linker: $LD (gnu? $with_gnu_ld) -# $progname: (GNU libtool) 2.4.2 +# $progname: (GNU libtool) 2.4 # automake: $automake_version # autoconf: $autoconf_version # @@ -506,9 +506,9 @@ hardcode_action=immediate PROGRAM=libtool PACKAGE=libtool -VERSION=2.4.2 +VERSION=2.4 TIMESTAMP="" -package_revision=1.3337 +package_revision=1.3293 # Be Bourne compatible if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then @@ -563,10 +563,15 @@ progpath="$0" : ${CP="cp -f"} test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'} +: ${EGREP="grep -E"} +: ${FGREP="grep -F"} +: ${GREP="grep"} +: ${LN_S="ln -s"} : ${MAKE="make"} : ${MKDIR="mkdir"} : ${MV="mv -f"} : ${RM="rm -f"} +: ${SED="sed"} : ${SHELL="${CONFIG_SHELL-/bin/sh}"} : ${Xsed="$SED -e 1s/^X//"} @@ -805,7 +810,7 @@ case $progpath in ;; *) save_IFS="$IFS" - IFS=${PATH_SEPARATOR-:} + IFS=: for progdir in $PATH; do IFS="$save_IFS" test -x "$progdir/$progname" && break @@ -1189,8 +1194,8 @@ func_help () s*\$LTCFLAGS*'"$LTCFLAGS"'* s*\$LD*'"$LD"'* s/\$with_gnu_ld/'"$with_gnu_ld"'/ - s/\$automake_version/'"`(${AUTOMAKE-automake} --version) 2>/dev/null |$SED 1q`"'/ - s/\$autoconf_version/'"`(${AUTOCONF-autoconf} --version) 2>/dev/null |$SED 1q`"'/ + s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/ + s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/ p d } @@ -1467,7 +1472,6 @@ opt_finish=false opt_help=false opt_help_all=false opt_silent=: -opt_warning=: opt_verbose=: opt_silent=false opt_verbose=false @@ -1534,10 +1538,6 @@ esac ;; --no-silent|--no-quiet) opt_silent=false -preserve_args="$preserve_args $opt" - ;; - --no-warning|--no-warn) - opt_warning=false preserve_args="$preserve_args $opt" ;; --no-verbose) @@ -2509,7 +2509,7 @@ func_mode_compile () *.[cCFSifmso] | \ *.ada | *.adb | *.ads | *.asm | \ *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \ - *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup) + *.[fF][09]? | *.for | *.java | *.obj | *.sx | *.cu | *.cup) func_xform "$libobj" libobj=$func_xform_result ;; @@ -3651,13 +3651,11 @@ func_mode_install () # Set up the ranlib parameters. oldlib="$destdir/$name" - func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 - tool_oldlib=$func_to_tool_file_result func_show_eval "$install_prog \$file \$oldlib" 'exit $?' if test -n "$stripme" && test -n "$old_striplib"; then - func_show_eval "$old_striplib $tool_oldlib" 'exit $?' + func_show_eval "$old_striplib $oldlib" 'exit $?' fi # Do each command in the postinstall commands. @@ -3922,7 +3920,7 @@ static const void *lt_preloaded_setup() { # linked before any other PIC object. But we must not use # pic_flag when linking with -static. The problem exists in # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. - *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) + *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; *-*-hpux*) pic_flag_for_symtable=" $pic_flag" ;; @@ -4437,17 +4435,14 @@ func_exec_program_core () # launches target application with the remaining arguments. func_exec_program () { - case \" \$* \" in - *\\ --lt-*) - for lt_wr_arg - do - case \$lt_wr_arg in - --lt-*) ;; - *) set x \"\$@\" \"\$lt_wr_arg\"; shift;; - esac - shift - done ;; - esac + for lt_wr_arg + do + case \$lt_wr_arg in + --lt-*) ;; + *) set x \"\$@\" \"\$lt_wr_arg\"; shift;; + esac + shift + done func_exec_program_core \${1+\"\$@\"} } @@ -5515,15 +5510,9 @@ void lt_dump_script (FILE* f) { EOF func_emit_wrapper yes | - $SED -n -e ' -s/^\(.\{79\}\)\(..*\)/\1\ -\2/ -h -s/\([\\"]\)/\\\1/g -s/$/\\n/ -s/\([^\n]*\).*/ fputs ("\1", f);/p -g -D' + $SED -e 's/\([\\"]\)/\\\1/g' \ + -e 's/^/ fputs ("/' -e 's/$/\\n", f);/' + cat <<"EOF" } EOF @@ -6108,8 +6097,7 @@ func_mode_link () continue ;; - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ - |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) compiler_flags="$compiler_flags $arg" compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" @@ -6613,8 +6601,7 @@ func_mode_link () lib= found=no case $deplib in - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ - |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) + -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" @@ -7315,7 +7302,7 @@ func_mode_link () test "$hardcode_direct_absolute" = no; then add="$dir/$linklib" elif test "$hardcode_minus_L" = yes; then - add_dir="-L$absdir" + add_dir="-L$dir" # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case $libdir in @@ -7800,7 +7787,6 @@ func_mode_link () # which has an extra 1 added just for fun # case $version_type in - # correct linux to gnu/linux during the next big refactor darwin|linux|osf|windows|none) func_arith $number_major + $number_minor current=$func_arith_result @@ -7917,7 +7903,7 @@ func_mode_link () versuffix="$major.$revision" ;; - linux) # correct to gnu/linux during the next big refactor + linux) func_arith $current - $age major=.$func_arith_result versuffix="$major.$age.$revision" @@ -8505,11 +8491,6 @@ EOF # Test again, we may have decided not to build it any more if test "$build_libtool_libs" = yes; then - # Remove ${wl} instances when linking with ld. - # FIXME: should test the right _cmds variable. - case $archive_cmds in - *\$LD\ *) wl= ;; - esac if test "$hardcode_into_libs" = yes; then # Hardcode the library paths hardcode_libdirs= @@ -8540,7 +8521,7 @@ EOF elif test -n "$runpath_var"; then case "$perm_rpath " in *" $libdir "*) ;; - *) perm_rpath="$perm_rpath $libdir" ;; + *) func_apped perm_rpath " $libdir" ;; esac fi done @@ -8548,7 +8529,11 @@ EOF if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" - eval "dep_rpath=\"$hardcode_libdir_flag_spec\"" + if test -n "$hardcode_libdir_flag_spec_ld"; then + eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" + else + eval dep_rpath=\"$hardcode_libdir_flag_spec\" + fi fi if test -n "$runpath_var" && test -n "$perm_rpath"; then # We should set the runpath_var. @@ -9638,8 +9623,6 @@ EOF esac done fi - func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 - tool_oldlib=$func_to_tool_file_result eval cmds=\"$old_archive_cmds\" func_len " $cmds" @@ -9749,8 +9732,7 @@ EOF *.la) func_basename "$deplib" name="$func_basename_result" - func_resolve_sysroot "$deplib" - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result` + eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` test -z "$libdir" && \ func_fatal_error "\`$deplib' is not a valid libtool archive" newdependency_libs="$newdependency_libs ${lt_sysroot:+=}$libdir/$name" diff --git a/src/keymgmt.c b/src/keymgmt.c index d908547..8453a2c 100644 --- a/src/keymgmt.c +++ b/src/keymgmt.c @@ -49,7 +49,7 @@ void pcp_keygen(char *passwd) { memcpy(k->owner, owner, strlen(owner) + 1); char *mail = pcp_getstdin("Enter the email address of the key owner"); - memcpy(k->mail, mail, strlen(mail) + 1); + memcpy(k->mail, _lc(mail), strlen(mail) + 1); if(debug) pcp_dumpkey(k); @@ -550,6 +550,7 @@ void pcpedit_key(char *keyid) { char *pcp_find_id_byrec(char *recipient) { pcp_pubkey_t *p; char *id = NULL; + _lc(recipient); for(p=pcppubkey_hash; p != NULL; p=(pcp_pubkey_t*)(p->hh.next)) { if(strncmp(p->owner, recipient, 255) == 0) { id = ucmalloc(17); @@ -564,3 +565,11 @@ char *pcp_find_id_byrec(char *recipient) { } return id; } + +char *_lc(char *in) { + size_t len = strlen(in); + int i; + for(i=0; i #include #include +#include #include "randomart.h" #include "mac.h" @@ -32,5 +33,6 @@ int pcp_importsecret (vault_t *vault, FILE *in); int pcp_sanitycheck_key(pcp_key_t *key); void pcpdelete_key(char *keyid); char *pcp_find_id_byrec(char *recipient); +char *_lc(char *in); #endif // _HAVE_KEYMGMT_H diff --git a/tests/env/alicia/.bash_history b/tests/env/alicia/.bash_history index 202b656..c8219a1 100644 --- a/tests/env/alicia/.bash_history +++ b/tests/env/alicia/.bash_history @@ -22,3 +22,22 @@ pcp -l pcp -l cd - cd +l +cd share +l +touch x +pcp -h +pcp -p +pcp -p -R Bobby +pcp -p -R Bobby > alicia.pub +l +pcp -P -I bobby.pub +pcp -l +l +echo "cleartext" > clear +pcp -e -I clear +pcp -e -I clear -R Bobby +pcp -e -I clear -R Bobby +pcp -e -I clear -R Bobby > encrypted +l +rm * diff --git a/tests/env/alicia/.pcpvault b/tests/env/alicia/.pcpvault index a249a83f695b53e4dae9077af74954d84f3b9cad..ec171d6dab3bb2601684ca20dfb31fa25b357e63 100644 GIT binary patch delta 844 zcmV-S1GD_-3;Yo%!~g&Q00001(nUwJIv^PUpr)bgAC2URyLi43x6o2`dlC+?0P@rU zu_(X=e*ypi00002=l}o!02fc$u}{0Q`{&DCi>+v!p)qr0YQLC5v!-YzA0FCHx-27I z19%TrHyf2pGbJ=1b8lbfiX`c!#IzO19-x6^69CQ%@>LqlPgpzCor@hDX-WUexSd8Fhir`QemGBcse@^rWk*8zp%@t<3Y+e`n!S2eooZhNH zIHlMVV)9|M7r)B$dS(_R&U=qQkkL$n+xQHu;W|QWVQ2tk%q|)vExfI`og=t}4fHW` z|54^%m3Y)}*u$86KwsmWLyJE;@4M3}A;CLw>T<}n>*=;u)fTImOviEn(%Mz2c(%CX zf4Ln{5LwQ*eaHZ036^Y08l|XM7{;BcZe?@;-ogaaQFsKod6RU$ zj}gPe)3sL73hocGZ`-#p&A?NL{~Q(8l2ixaVp9BGo=J#|%#NDHm3~bLlSUP1e;y^- zeQYCg2|e@*5r?oTUc%xlvw3N@p3LTC3Pv1FzhAzrV3M8HqH$bAJun>glzruB9GlK4 z{YXBskuST{vS8xa^3>zj37TjdS*E;y#lVS3s;=&0&FEwN$#bikctVr_!skRfxQfE6 ziK8+?;AV@Q{U-mbe%4?{$;3g*f7xqd;`7ozL2yP9jHi7#Q@!hNbOdvtGAGzT zt;@V^8bQ>~HMe+Gs^!e5akop(SF<~rLPIb@K{PTsMKDH0H8Vmm0I2`~002^UQ_BDV z00HFg|MLQN2MsO5erCU@%*@0zxs2{L@U15WIF@p|^8SGcbSyBtGf_vl8tTr-5GfLU W=ob$sx10Pq%$E7gU}x8y78~gnf045Q delta 49 zcmew(_<~#G2m=@});-=lFCt3T)*<`cmdU3C;$9sos=RB`Zf@0Rrr0%$OKqdZ0agIb CwG$8k diff --git a/tests/env/bobby/.bash_history b/tests/env/bobby/.bash_history index f609a45..97df750 100644 --- a/tests/env/bobby/.bash_history +++ b/tests/env/bobby/.bash_history @@ -2,3 +2,14 @@ pcp -l pcp -k l l +l +l +cd share +l +l +rm x +pcp -p -R Alicia +pcp -p -R Alicia > bobby.pub +pcp -P -I alicia.pub +pcp -l +pcp -d -I encrypted