ChangeLog 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442
  1. 2008-10-29 Marcus Brinkmann <marcus@g10code.de>
  2. * configure.ac (_ASSUAN_ONLY_GPG_ERRORS): Define it.
  3. * src/agent.c (default_inq_cb): Change return type to gpg_error_t
  4. to silence gcc -W warning.
  5. * src/cert-gpgsm.c (search_certs, export_cert_cb): Change type of
  6. argument to silence gcc -W warning.
  7. * src/p11-findobjects.c (CK_DEFINE_FUNCTION): Add explicit cast to
  8. silence gcc -W warning.
  9. * src/table.c (struct scute_table): Change signedness of
  10. FIRST_FREE and LAST_USED members to silence gcc -W warning.
  11. (scute_table_alloc): Change signedness of IDX for the same reason.
  12. * tests/t-getslotinfo.c, tests/t-getsessioninfo.c,
  13. tests/t-getmechanismlist.c, tests/t-auth.c,
  14. tests/t-getattribute.c, tests/t-opensession.c,
  15. tests/t-getslotlist.c, tests/t-getmechanisminfo.c,
  16. tests/t-support.h, tests/t-closeallsessions.c,
  17. tests/t-findobjects.c, tests/t-gettokeninfo.c: Change signedness
  18. of some variables to silence gcc -W warnings.
  19. 2008-10-21 Marcus Brinkmann <marcus@g10code.com>
  20. * src/slots.c (slots_update_slot): Ignore card errors.
  21. 2008-10-01 Marcus Brinkmann <marcus@g10code.com>
  22. * src/agent.c (agent_connect): Set assuan log stream.
  23. * src/p11-initialize.c: Include "debug.h".
  24. (C_Initialize): Call _scute_debug_init.
  25. * src/Makefile.am (sources): Add debug.c.
  26. * src/debug.c: New file.
  27. * src/debug.h: Rewritten.
  28. * src/agent.c, src/cert-gpgsm.c, src/cert-object.c,
  29. src/slots.c, src/error-mapping.c: More or improved or
  30. adjusted debug output.
  31. 2008-09-30 Marcus Brinkmann <marcus@g10code.com>
  32. * src/cert-object.c [!CERT_PARSING]: Disable some certificate
  33. parsing code. Unfortunately, we can't get rid of all of it for
  34. now.
  35. 2008-09-30 Marcus Brinkmann <marcus@g10code.com>
  36. * src/get-path.c (find_program_in_inst_dir): New function.
  37. (get_gpgsm_path, get_gpg_agent_path): Use it to check in install dir.
  38. 2008-09-30 Werner Koch <wk@g10code.de>
  39. * src/Makefile.am (scute_DEPENDENCIES): Use .libs/versioninfo.o
  40. * AUTHORS (License): New.
  41. * Makefile.am (AUTOMAKE_OPTIONS): Do not distribute a gzip tarball.
  42. (EXTRA_DIST): Distibute autogen.sh and README.SVN.
  43. * README.CVS: Replace by README.SVN.
  44. * configure.ac: Update bug address and some comments.
  45. * autogen.sh: Update.
  46. 2008-09-29 Marcus Brinkmann <marcus@g10code.com>
  47. * src/gpgsm.c (struct search): New member WITH_CHAIN.
  48. (search_cb): Only load chain if WITH_CHAIN is true.
  49. (scute_gpgsm_get_cert): Call search_cb in the agent code path.
  50. 2008-09-29 Marcus Brinkmann <marcus@g10code.com>
  51. * src/slots.c (MIN): Remove macro.
  52. (slot_token_maxpinlen, slot_token_pincount): Do not consider
  53. second pincount, which meaning depends on the card version.
  54. 2008-09-26 Marcus Brinkmann <marcus@g10code.de>
  55. * src/agent.c: Include "cert.h".
  56. (GET_CERT_INIT_SIZE): New symbol.
  57. (struct get_cert_s): New struct.
  58. (get_cert_data_cb, scute_agent_get_cert): New functions.
  59. * src/gpgsm.c: Include "agent.h".
  60. (scute_gpgsm_get_cert): Take extra argument NO. Use it to get the
  61. certificate directly from the card, if possible.
  62. * src/gpgsm.h (scute_gpgsm_get_cert): Add extra argument NO to
  63. prototype.
  64. * src/slots.c (slot_init): Pass extra argument to
  65. scute_gpgsm_get_cert invocation.
  66. * src/cert-object.c (scute_attr_prv, scute_attr_cert): Don't use
  67. the fpr, timestamp and expire field of a certificate for now.
  68. 2008-09-23 Marcus Brinkmann <marcus@g10code.de>
  69. * src/agent.c (GET_CERT_INIT_SIZE): New symbol.
  70. (struct get_cert_s): New struct.
  71. (get_cert_data_cb, scute_agent_get_cert): New functions.
  72. 2008-09-03 Marcus Brinkmann <marcus@g10code.com>
  73. * src/Makefile.am (.rc.o): New rule.
  74. * src/Makefile.am (EXTRA_DIST): Add stpcpy.h.
  75. 2008-09-02 Marcus Brinkmann <marcus@g10code.com>
  76. * configure.ac: Post-release cleanup.
  77. * doc/website/download.xhtml: Update.
  78. 2008-09-02 Marcus Brinkmann <marcus@g10code.com>
  79. * Released version 1.2.0.
  80. * doc/manual/Makefile.am (CLEANFILES): Add $(images_eps).
  81. (images_eps): New variable.
  82. (scute.dvi): Depend on $(images_eps) instead of $(images_pdf).
  83. 2008-08-23 Marcus Brinkmann <marcus@g10code.com>
  84. * src/Makefile.am [HAVE_W32_SYSTEM]: Build autonomous DLL.
  85. 2008-08-23 Marcus Brinkmann <marcus@g10code.com>
  86. * src/agent.c (gnupg_allow_set_foregound_window)
  87. [!HAVE_W32_SYSTEM]: Define it.
  88. 2008-08-23 Marcus Brinkmann <marcus@g10code.com>
  89. * src/Makefile.am [HAVE_W32_SYSTEM]: Build autonomous DLL.
  90. * src/dllmain.c (DllMain): New file.
  91. * src/cert-gpgsm.c: Include "debug.h". Use
  92. assuan_pipe_connect_ext instead of assuan_pipe_connect everywhere.
  93. * src/agent.c (WINVER) [HAVE_W32_SYSTEM]: Define symbol.
  94. [HAVE_W32_SYSTEM]: Include <windows.h>. Do this before including
  95. <assuan.h>.
  96. (gnupg_allow_set_foregound_window): New function.
  97. (agent_connect): Use Sleep() instead of _sleep().
  98. (default_inq_cb): New function, and use it in all transactions.
  99. (agent_configure): Don't bail out if ttytname is not defined. Set
  100. allow-pinentry-notify.
  101. * tests/t-support.h [_WIN32]: Include <windows.h>.
  102. (init_cryptoki) [_WIN32]: Call WSAStartup.
  103. 2008-08-21 Marcus Brinkmann <marcus@g10code.com>
  104. * src/scute.def: Start at @1 instead of @0.
  105. 2008-08-21 Marcus Brinkmann <marcus@g10code.com>
  106. * src/agent.c (agent_configure): Fix cut and paste error.
  107. 2008-08-11 Marcus Brinkmann <marcus@g10code.com>
  108. * src/agent.c (spawn_process_detachted) [! HAVE_W32_SYSTEM]: Remove.
  109. (agent_configure): Ignore error with old versions of gpg-agent.
  110. 2008-08-08 Marcus Brinkmann <marcus@g10code.de>
  111. * configure.ac: Update svn macros.
  112. (BUILD_REVISION, BUILD_FILEVERSION, BUILD_TIMESTAMP): New.
  113. (AC_CONFIG_OUTPUT): Add src/versioninfo.rc.
  114. (GPG_AGENT_DEFAULT, GPG_AGENT): New.
  115. (AC_REPLACE_FUNCS): Add vasprintf and stpcpy.
  116. (AC_CHECK_FUNCS): Add ttyname, localtime_r and timegm.
  117. * src/stpcpy.h, src/stpcpy.c, src/realloc.c: New file from gnulib.
  118. * src/vasprintf.c: New file from libiberty.
  119. * src/support.h [!HAVE_STPCPY]: Include "stpcpy.h".
  120. [!HAVE_TTYNAME]: Define simple replacement function.
  121. (get_gpgsm_path, get_gpg_agent_path)
  122. (default_homedir, make_filename): New prototypes.
  123. * src/Makefile.am: Add W32 support.
  124. (libscute_la_SOURCES): Add get-path.c.
  125. (EXTRA_DIST): Add versioninfo.rc.in.
  126. * src/versioninfo.rc.in: New file.
  127. * src/get-path.c: New file.
  128. * src/agent.c (PATHSEP_C): New macro.
  129. (build_w32_commandline_copy)
  130. (build_w32_commandline) [HAVE_W32_SYSTEM]: New functions.
  131. (spawn_process_deatched): New function.
  132. (agent_connect): Start gpg-agent if it is not running yet.
  133. (agent_configure): Also pass xauthority and pinentry-user-data.
  134. * src/cert-gpgsm.c (COMPAT_FALLBACK) [!HAVE_W32_SYSTEM]: New
  135. macro.
  136. (export_cert_compat) [!COMPAT_FALLBACK]: Remove.
  137. (export_cert) [!COMPAT_FALLBACK]: Don't call export_cert_compat.
  138. Don't create (unused) output pipe cruft.
  139. * src/cert-object.c (time_to_ck_date) [!HAVE_LOCALTIME_R]: Fall
  140. back to localtime.
  141. * tests/t-getslotinfo.c (main) [WIN32]: Call _sleep instead sleep.
  142. * src/cryptoki.h (CRYPTOKI_EXPORTS): Define symbol.
  143. * src/error-mapping.h: Do not include <error.h>.
  144. (scute_sys_to_ck): Change type of ERR to int.
  145. * src/error-mapping.c: Do not include <error.h>.
  146. (scute_sys_to_ck): Change type of ERR to int.
  147. * src/slots.c (slot_create_session): Change type of ERR to int.
  148. 2007-05-03 Marcus Brinkmann <marcus@g10code.de>
  149. Released version 1.1.0.
  150. * doc/manual/Makefile.am (images_pdf, CLEANFILES): New variables.
  151. (scute.dvi, scute.pdf): New dependencies.
  152. (%.eps, %.pdf): New rules.
  153. * configure.ac: Check for convert and epstopdf.
  154. * doc/manual/scute.texi (Authentication With Service): Avoid
  155. @indicateurl in TeX output, as this seems to be broken (in
  156. texi2dvi 1.34).
  157. * doc/manual/Makefile.am (images, EXTRA_DIST): New variables.
  158. 2007-04-30 Marcus Brinkmann <marcus@g10code.de>
  159. * src/agent.h (scute_agent_is_trusted): New prototype. Include
  160. <stdbool.h>.
  161. * src/agent.c (scute_agent_is_trusted): New implementation.
  162. * src/cert.h (struct cert): New member IS_TRUSTED.
  163. * src/cert-gpgsm.c (export_cert): Set CERT->is_trusted.
  164. * src/cert-object.c (scute_attr_cert): Set CKA_TRUSTED to
  165. CERT->is_trusted.
  166. * tests/t-getattribute.c: Support new option '--printable'.
  167. * src/table.c (scute_table_dealloc): Return, but not a value.
  168. 2007-02-09 Marcus Brinkmann <marcus@g10code.de>
  169. * src/pkcs11.h: Add definitions for SHA.
  170. 2006-12-17 Marcus Brinkmann <marcus@g10code.de>
  171. * src/pkcs11.h: Minor cosmetic changes. Require CRYPTOKI_GNU now
  172. to switch on the GNU API, and do not check what CRYPTOKI_COMPAT is
  173. defined to, just if it is defined at all.
  174. * src/pkcs11.h [__WIN32]: Changed to [_WIN32 ||
  175. CRYPTOKI_FORCE_WIN32] at the end.
  176. Submitted by Alon Bar-Lev.
  177. 2006-12-11 Marcus Brinkmann <marcus@g10code.de>
  178. * src/pkcs11.h (CKO_VENDOR_DEFINED): Fixed syntax error.
  179. 2006-12-10 Marcus Brinkmann <marcus@g10code.de>
  180. * configure.ac (NEED_GPG_ERROR_VERSION): Bump to 1.4.
  181. * src/pkcs11.h [CRYPTOKI_COMPAT]: Rewrote the compatibility layer.
  182. 2006-12-09 Marcus Brinkmann <marcus@g10code.de>
  183. * src/pkcs11.h [__cplusplus]: Protect with extern "C".
  184. Do not use the C++ keyword "template" in parameter lists.
  185. Submitted by Alon Bar-Lev.
  186. * src/pkcs11.h [__WIN32]: Changed to [_WIN32 ||
  187. CRYPTOKI_FORCE_WIN32].
  188. (ck_rv_t): Changed to unsigned long.
  189. (CRYPTOKI_VERSION_MAJOR, CRYPTOKI_VERSION_MINOR,
  190. CRYPTOKI_VERSION_REVISION): New macros.
  191. (CKO_VENDOR_DEFINED, CKH_VENDOR_DEFINED, CKK_VENDOR_DEFINED,
  192. CKC_VENDOR_DEFINED, CKA_VENDOR_DEFINED, CKM_VENDOR_DEFINED,
  193. CKF_EXTENSION, CKR_VENDOR_DEFINED): Add cast to suppress compiler
  194. warning.
  195. Submitted by Alon Bar-Lev.
  196. * src/cryptoki.h (CRYPTOKI_VERSION_MAJOR, CRYPTOKI_VERSION_MINOR):
  197. Removed.
  198. 2006-11-30 Marcus Brinkmann <marcus@g10code.de>
  199. * m4/autobuild.m4: New file.
  200. * configure.ac: Invoke AB_INIT.
  201. 2006-11-29 Marcus Brinkmann <marcus@g10code.de>
  202. * configure.ac (CFLAGS): Remove variable.
  203. 2006-11-27 Marcus Brinkmann <marcus@g10code.de>
  204. * src/pkcs11.h: Add more definitions provided by Andreas Jellinghaus.
  205. * README (Copyright and License): Update copyright notice. Also
  206. for all other files.
  207. * AUTHORS (Maintainer): Removed RSA Security Inc.
  208. * include/pkcs11t.h, include/pkcs11f.h, include/pkcs11.h,
  209. include/disclaimer.txt, include/cryptoki-w32.h,
  210. include/cryptoki-generic.h, include/README, include/Makefile.am:
  211. Files removed.
  212. * configure.ac (AC_CONFIG_FILES): Removed include/Makefile.
  213. * Makefile.am (SUBDIRS): Removed include directory.
  214. 2006-11-24 Marcus Brinkmann <marcus@g10code.de>
  215. * src/pkcs11.h: New file.
  216. * src/Makefile.am (libscute_la_SOURCES): Add pkcs11.h.
  217. * src/cryptoki.h: Include "pkcs11.h" instead of original PKCS #11
  218. header file.
  219. * tests/t-support.h (mechanism_type_str): Remove most mechanisms.
  220. 2006-11-23 Marcus Brinkmann <marcus@g10code.de>
  221. * src/cert-gpgsm.c (search_certs_line): Don't overwrite CERT->uid.
  222. 2006-11-21 Marcus Brinkmann <marcus@g10code.de>
  223. * src/cert-gpgsm.c (search_certs_line): Fix off-by-one error.
  224. (export_cert_cb): Fix bug if EXP->buffer_size is 0.
  225. * src/cert-gpgsm.c (cert_reset): Free CERT->cert_der if set.
  226. (export_cert): Reimplement using data channel.
  227. (export_cert_compat): This contains the old version for
  228. compatibility.
  229. * src/cert.h (MAX_CERT_SIZE): Macro removed.
  230. (struct cert): Changed member CERT_DER into a pointer.
  231. * configure.ac (AC_CONFIG_FILES): Add doc/manual/Makefile.
  232. * doc/Makefile.am (SUBDIRS): New variable.
  233. * doc/manual/Makefile, doc/manual/scute.texi, doc/manual/gpl.texi,
  234. doc/manual/mdate-sh, doc/manual/texinfo.tex,
  235. doc/manual/firefox-cm.png, doc/manual/firefox-cm-view-detail.png,
  236. doc/manual/firefox-cm-view.png,
  237. doc/manual/firefox-dm-load-after.png,
  238. doc/manual/firefox-dm-load-before.png,
  239. doc/manual/firefox-dm-load.png,
  240. doc/manual/firefox-dm-token-present.png,
  241. doc/manual/firefox-pref.png, doc/manual/firefox-pref-view.png: New
  242. files.
  243. 2006-11-11 Marcus Brinkmann <marcus@g10code.de>
  244. * Released version 1.0.0.
  245. 2006-11-11 Marcus Brinkmann <marcus@g10code.de>
  246. * src/error-mapping.c (scute_gpg_err_to_ck): Report error on debug
  247. stream.
  248. * src/slots.c (add_object): New function.
  249. (slot_init): Rewritten using add_object.
  250. * src/gpgsm.c: Include "gpgsm.h".
  251. (struct search): Replace members ATTRP, ATTR_COUNTP, PRV_ATTRP,
  252. PRV_ATTR_COUNTP by CERT_GET_CB, HOOK.
  253. (search_cb): Rewritten to add all certificates for a certain key
  254. (scute_gpgsm_get_cert): Take a callback function instead of
  255. attribute pointers.
  256. * gpgsm.h (scute_gpgsm_get_cert): Adjust prototype.
  257. and also the certificate chain.
  258. * src/cert.h (scute_gpgsm_search_certs_by_fpr): New prototype.
  259. (struct cert): New member chain_id.
  260. * src/cert-gpgsm.c (struct search_ctx_by_grip): Rename to ...
  261. (struct search_ctx): ... this. Rename field GRIP to PATTERN, and
  262. add new field FIELD.
  263. (search_certs_by_grip): Rename function to ...
  264. (search_certs): ... this.
  265. (scute_gpgsm_search_certs_by_fpr): Change user of the above.
  266. (scute_gpgsm_search_certs_by_fpr): New function.
  267. (search_certs_line): Store chain ID.
  268. 2006-11-07 Marcus Brinkmann <marcus@g10code.de>
  269. * src/p11-gettokeninfo.c (C_GetTokenInfo): Fix assignment.
  270. 2006-11-06 Marcus Brinkmann <marcus@g10code.de>
  271. * doc/website/format/web.css: Set margin to 0.
  272. * configure.ac (AC_CONFIG_FILES): Add doc/Makefile.
  273. Makefile.am (SUBDIRS): Add doc/.
  274. doc/, doc/website/, doc/website/format: New directories.
  275. doc/Makefile.am, doc/website/index.xhtml,
  276. doc/website/documentation.xhtml, doc/website/download.xhtml,
  277. doc/website/contact.xhtml, doc/website/format/web.css,
  278. doc/website/format/scute-logo.svg,
  279. doc/website/format/scute-border.jpg: New files.
  280. 2006-10-30 Marcus Brinkmann <marcus@g10code.de>
  281. * configure.ac (PACKAGE, VERSION): Define these variables.
  282. * src/Makefile.am (libscute_la_CPPFLAGS): Fix include path for
  283. VPATH builds.
  284. * configure.ac (VERSION_MAJOR, VERSION_MINOR): New variable
  285. definitions.
  286. * src/gpgsm.h: Fix syntax error.
  287. * src/table.c, src/table.h: Rewritten.
  288. * src/slots.c: Reorganized and rewritten to use the new table
  289. interface. Include gpgsm.h.
  290. * src/p11-signinit.c, src/p11-sign.c, src/p11-getslotlist.c,
  291. src/p11-getsessioninfo.c, src/p11-getmechanismlist.c,
  292. src/p11-getattributevalue.c, src/p11-findobjectsinit.c,
  293. src/p11-findobjectsfinal.c, src/p11-findobjects.c,
  294. src/p11-closesession.c: Adjust callers.
  295. 2006-10-26 Marcus Brinkmann <marcus@g10code.de>
  296. * src/settings.h: Require VERSION_MAJOR and VERSION_MINOR to be
  297. defined.
  298. * src/p11-getinfo.c (CRYPTOKI_VERSION_MAJOR,
  299. CRYPTOKI_VERSION_MINOR): Move macros to ...
  300. * src/cryptoki.h (CRYPTOKI_VERSION_MAJOR, CRYPTOKI_VERSION_MINOR):
  301. ... here
  302. * src/gpgsm.c (gpgsm_get_cert): Rename to ...
  303. (scute_gpgsm_get_cert): ... this.
  304. * src/gpgsm.h: New file.
  305. * src/Makefile.am (libscute_la_SOURCES): Add gpgsm.h.
  306. * src/slots.c (gpgsm_get_cert): Remove prototype.
  307. (slots_update_slot): Call scute_gpgsm_get_cert, not gpgsm_get_cert.
  308. * src/error-mapping.c (scute_gpg_err_to_ck): Map GPG_ERR_NO_AGENT
  309. to CKR_GENERAL_ERROR.
  310. * src/agent.h (struct agent_card_info_s): Remove member error.
  311. Prefix external functions with scute_ if not already done so, also
  312. for callers.
  313. * src/agent.c: Include <stdarg.h>. Replace one-letter variable
  314. names by proper ones. Replace assuan_error_t with gpg_error_t
  315. everywhere.
  316. (agent_connect, agent_simple_cmd, agent_configure): New functions.
  317. (scute_agent_initialize): Use these new functions.
  318. ing of common code. Lots of cleanups.
  319. (scute_agent_finalize): Clear agent_ctx. Add debug message.
  320. 2006-10-13 Werner Koch <wk@g10code.com>
  321. * src/cert-gpgsm.c (MAX_LINE_LEN): Increased.
  322. * src/locking.c: Include string.h for memset declaration.
  323. * configure.ac: New option --disable-optimization.
  324. 2006-08-02 Marcus Brinkmann <marcus@g10code.de>
  325. * Initial version.
  326. Copyright 2006, 2007, 2008 g10 Code GmbH
  327. This file is free software; as a special exception the author gives
  328. unlimited permission to copy and/or distribute it, with or without
  329. modifications, as long as this notice is preserved.
  330. This file is distributed in the hope that it will be useful, but
  331. WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
  332. implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.