Newer
Older
7001
7002
7003
7004
7005
7006
7007
7008
7009
7010
7011
7012
7013
7014
7015
7016
7017
7018
7019
7020
7021
7022
7023
7024
7025
7026
7027
7028
7029
7030
7031
7032
7033
7034
7035
7036
7037
7038
7039
7040
7041
7042
7043
7044
7045
7046
7047
7048
7049
7050
7051
7052
7053
7054
7055
7056
7057
7058
7059
7060
7061
7062
7063
7064
7065
7066
7067
7068
7069
7070
7071
7072
7073
7074
7075
7076
7077
7078
7079
7080
7081
7082
7083
7084
7085
7086
7087
7088
7089
7090
7091
7092
7093
7094
7095
7096
7097
7098
7099
7100
7101
7102
7103
7104
7105
7106
7107
7108
7109
7110
7111
7112
7113
7114
7115
7116
7117
7118
7119
7120
7121
7122
7123
7124
7125
7126
7127
7128
7129
7130
7131
7132
7133
7134
7135
7136
7137
7138
7139
7140
7141
7142
7143
7144
7145
7146
7147
7148
7149
7150
7151
7152
7153
7154
7155
7156
7157
7158
7159
7160
7161
7162
7163
7164
7165
7166
7167
7168
7169
7170
7171
7172
7173
7174
7175
7176
7177
7178
7179
7180
7181
7182
7183
7184
7185
7186
7187
7188
7189
7190
7191
7192
7193
7194
7195
7196
7197
7198
7199
7200
7201
7202
7203
7204
7205
7206
7207
7208
7209
7210
7211
7212
7213
7214
7215
7216
7217
7218
7219
7220
7221
7222
7223
7224
7225
7226
7227
7228
7229
7230
7231
7232
7233
7234
7235
7236
7237
7238
7239
7240
7241
7242
7243
7244
7245
7246
7247
7248
7249
7250
7251
7252
7253
7254
7255
7256
7257
7258
7259
7260
7261
7262
7263
7264
7265
7266
7267
7268
7269
7270
7271
7272
7273
7274
7275
7276
7277
7278
7279
7280
7281
7282
7283
7284
7285
7286
7287
7288
7289
7290
7291
7292
7293
7294
7295
7296
7297
7298
7299
7300
7301
7302
7303
7304
7305
7306
7307
7308
7309
7310
7311
7312
7313
7314
7315
7316
7317
7318
7319
7320
7321
7322
7323
7324
7325
7326
7327
7328
7329
7330
7331
7332
7333
7334
7335
7336
7337
7338
7339
7340
7341
7342
7343
7344
7345
7346
7347
7348
7349
7350
7351
7352
7353
7354
7355
7356
7357
7358
7359
7360
7361
7362
7363
7364
7365
7366
7367
7368
7369
7370
7371
7372
7373
7374
7375
7376
7377
7378
7379
7380
7381
7382
7383
7384
7385
7386
7387
7388
7389
7390
7391
7392
7393
7394
7395
7396
7397
7398
7399
7400
7401
7402
7403
7404
7405
7406
7407
7408
7409
7410
7411
7412
7413
7414
7415
7416
7417
7418
7419
7420
7421
7422
7423
7424
7425
7426
7427
7428
7429
7430
7431
7432
7433
7434
7435
7436
7437
7438
7439
7440
7441
7442
7443
7444
7445
7446
7447
7448
7449
7450
7451
7452
7453
7454
7455
7456
7457
7458
7459
7460
7461
7462
7463
7464
7465
7466
7467
7468
7469
7470
7471
7472
7473
7474
7475
7476
7477
7478
7479
7480
7481
7482
7483
7484
7485
7486
7487
7488
7489
7490
7491
7492
7493
7494
7495
7496
7497
7498
7499
7500
7501
7502
7503
7504
7505
7506
7507
7508
7509
7510
7511
7512
7513
7514
7515
7516
7517
7518
7519
7520
7521
7522
7523
7524
7525
7526
7527
7528
7529
7530
7531
7532
7533
7534
7535
7536
7537
7538
7539
7540
7541
7542
7543
7544
7545
7546
7547
7548
7549
7550
7551
7552
7553
7554
7555
7556
7557
7558
7559
7560
7561
7562
7563
7564
7565
7566
7567
7568
7569
7570
7571
7572
7573
7574
7575
7576
7577
7578
7579
7580
7581
7582
7583
7584
7585
7586
7587
7588
7589
7590
7591
7592
7593
7594
7595
7596
7597
7598
7599
7600
7601
7602
7603
7604
7605
7606
7607
7608
7609
7610
7611
7612
7613
7614
7615
7616
7617
7618
7619
7620
7621
7622
7623
7624
7625
7626
7627
7628
7629
7630
7631
7632
7633
7634
7635
7636
7637
7638
7639
7640
7641
7642
7643
7644
7645
7646
7647
7648
7649
7650
7651
7652
7653
7654
7655
7656
7657
7658
7659
7660
7661
7662
7663
7664
7665
7666
7667
7668
7669
7670
7671
7672
7673
7674
7675
7676
7677
7678
7679
7680
7681
7682
7683
7684
7685
7686
7687
7688
7689
7690
7691
7692
7693
7694
7695
7696
7697
7698
7699
7700
7701
7702
7703
7704
7705
7706
7707
7708
7709
7710
7711
7712
7713
7714
7715
7716
7717
7718
7719
7720
7721
7722
7723
7724
7725
7726
7727
7728
7729
7730
7731
7732
7733
7734
7735
7736
7737
7738
7739
7740
7741
7742
7743
7744
7745
7746
7747
7748
7749
7750
7751
7752
7753
7754
7755
7756
7757
7758
7759
7760
7761
7762
7763
7764
7765
7766
7767
7768
7769
7770
7771
7772
7773
7774
7775
7776
7777
7778
7779
7780
7781
7782
7783
7784
7785
7786
7787
7788
7789
7790
7791
7792
7793
7794
7795
7796
7797
7798
7799
7800
7801
7802
7803
7804
7805
7806
7807
7808
7809
7810
7811
7812
7813
7814
7815
7816
7817
7818
7819
7820
7821
7822
7823
7824
7825
7826
7827
7828
7829
7830
7831
7832
7833
7834
7835
7836
7837
7838
7839
7840
7841
7842
7843
7844
7845
7846
7847
7848
7849
7850
7851
7852
7853
7854
7855
7856
7857
7858
7859
7860
7861
7862
7863
7864
7865
7866
7867
7868
7869
7870
7871
7872
7873
7874
7875
7876
7877
7878
7879
7880
7881
7882
7883
7884
7885
7886
7887
7888
7889
7890
7891
7892
7893
7894
7895
7896
7897
7898
7899
7900
7901
7902
7903
7904
7905
7906
7907
7908
7909
7910
7911
7912
7913
7914
7915
7916
7917
7918
7919
7920
7921
7922
7923
7924
7925
7926
7927
7928
7929
7930
7931
7932
7933
7934
7935
7936
7937
7938
7939
7940
7941
7942
7943
7944
7945
7946
7947
7948
7949
7950
7951
7952
7953
7954
7955
7956
7957
7958
7959
7960
7961
7962
7963
7964
7965
7966
7967
7968
7969
7970
7971
7972
7973
7974
7975
7976
7977
7978
7979
7980
7981
7982
7983
7984
7985
7986
7987
7988
7989
7990
7991
7992
7993
7994
7995
7996
7997
7998
7999
8000
Clarify that srp_base64 is not the same as normal base64.
** Fix non-portable use of brace expansion in makefiles.
** API and ABI modifications:
gnutls_certificate_export_x509_cas: ADDED
gnutls_certificate_export_x509_crls: ADDED
gnutls_certificate_export_openpgp_keyring: ADDED
gnutls_openpgp_keyid_t: ADDED, instead of hard-coded 'unsigned char[8]'.
gnutls_openpgp_crt_get_key_id: ADDED, obsoletes gnutls_openpgp_crt_get_id.
gnutls_openpgp_crt_get_revoked_status: ADDED
gnutls_openpgp_crt_get_subkey_count: ADDED
gnutls_openpgp_crt_get_subkey_idx: ADDED
gnutls_openpgp_crt_get_subkey_revoked_status: ADDED
gnutls_openpgp_crt_get_subkey_pk_algorithm: ADDED
gnutls_openpgp_crt_get_subkey_creation_time: ADDED
gnutls_openpgp_crt_get_subkey_expiration_time: ADDED
gnutls_openpgp_crt_get_subkey_id: ADDED
gnutls_openpgp_crt_get_subkey_usage: ADDED
gnutls_openpgp_privkey_get_fingerprint: ADDED
gnutls_openpgp_privkey_get_key_id: ADDED
gnutls_openpgp_privkey_get_subkey_count: ADDED
gnutls_openpgp_privkey_get_subkey_idx: ADDED
gnutls_openpgp_privkey_get_subkey_revoked_status: ADDED
gnutls_openpgp_privkey_get_revoked_status: ADDED
gnutls_openpgp_privkey_get_subkey_pk_algorithm: ADDED
gnutls_openpgp_privkey_get_subkey_expiration_time: ADDED
gnutls_openpgp_privkey_get_subkey_id: ADDED
gnutls_openpgp_privkey_get_subkey_creation_time: ADDED
gnutls_openpgp_crt_get_subkey_pk_dsa_raw: ADDED
gnutls_openpgp_crt_get_subkey_pk_rsa_raw: ADDED
gnutls_openpgp_crt_get_pk_dsa_raw: ADDED
gnutls_openpgp_crt_get_pk_rsa_raw: ADDED
gnutls_openpgp_privkey_export_subkey_dsa_raw: ADDED
gnutls_openpgp_privkey_export_subkey_rsa_raw: ADDED
gnutls_openpgp_privkey_export_dsa_raw: ADDED
gnutls_openpgp_privkey_export_rsa_raw: ADDED
gnutls_openpgp_privkey_export: ADDED
gnutls_certificate_set_openpgp_key_file2: ADDED
gnutls_certificate_set_openpgp_key_mem2: ADDED
gnutls_x509_dn_init: ADDED
gnutls_x509_dn_import: ADDED
gnutls_x509_dn_deinit: ADDED
GNUTLS_E_OPENPGP_SUBKEY_ERROR: ADDED
gnutls_hex2bin: ADDED
GNUTLS_CRT_PRINT_FULL: ADDED, same as old GNUTLS_X509_CRT_FULL.
GNUTLS_CRT_PRINT_ONELINE: ADDED, same as old GNUTLS_X509_CRT_ONELINE.
GNUTLS_CRT_PRINT_UNSIGNED_FULL: ADDED, same as
old GNUTLS_X509_CRT_UNSIGNED_FULL.
* Version 2.3.0 (released 2008-01-08)
** LZO compression is now disabled by default.
The reason is that LZO compression is not standardized in TLS. If you
wish to experiment with it, you will have to supply --with-lzo when
invoking ./configure. The internal copy of minilzo is no longer
included with GnuTLS, so you will need to install liblzo or liblzo2 on
your system to have --with-lzo to be effective.
** More than one server name field is now sent to the server properly.
Thanks to mark.phillips@virgin.net.
** Fixes the post_client_hello_function(). The extensions are now parsed
in a callback friendly way.
** Fix for certificate selection in servers with certificate callbacks.
** Updated translations.
** Update gnulib files.
** API and ABI modifications:
No changes since last version.
* Version 2.2.5 (released 2008-05-19)
** Fix flaw in fix for GNUTLS-SA-2008-1-3.
The flaw would result in incorrectly terminated sessions with the
error "Decryption has failed" when the server sends a small packet
(typically when the session is closed). Reported by Andreas Metzler
<ametzler@downhill.at.eu.org> in
<http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/2807>.
** API and ABI modifications:
No changes since last version.
* Version 2.2.4 (released 2008-05-19)
** Fix three security vulnerabilities. [GNUTLS-SA-2008-1]
Thanks to CERT-FI for finding the bugs and providing detailed reports,
which allowed the bugs to be reproduced and fixed easily. Patches
developed by Simon Josefsson and Nikos Mavrogiannopoulos. Any updates
with more details about these vulnerabilities will be added to
<https://www.gnu.org/software/gnutls/security.html>
*** [GNUTLS-SA-2008-1-1]
*** libgnutls: Fix crash when sending invalid server name.
The crash can be triggered remotely before authentication, which can
lead to a Daniel of Service attack to disable the server. The bug
cause gnutls to store more session resumption data than what was
allocated for, thus overwriting unallocated memory.
*** [GNUTLS-SA-2008-1-2]
*** libgnutls: Fix crash when sending repeated client hellos.
The crash can be triggered remotely before authentication, which can
lead to a Daniel of Service attack to disable the server. The bug
triggers a null-pointer dereference.
*** [GNUTLS-SA-2008-1-3]
*** libgnutls: Fix crash in cipher padding decoding for invalid record lengths.
The crash can be triggered remotely before authentication, which can
lead to a Daniel of Service attack to disable the server. The bug
cause gnutls to read memory beyond the end of the received record.
** API and ABI modifications:
No changes since last version.
* Version 2.2.3 (released 2008-05-06)
** Increase default handshake packet size limit to 48kb.
The old limit was 16kb and some servers send huge list of trusted CAs,
thus running into the limit. FYI, applications can further increase
this limit using gnutls_handshake_set_max_packet_length. Thanks to
Marc Haber <mh+debian-bugs@zugschlus.de> and "Marc F. Clemente"
<marc@mclemente.net> for reporting and providing test servers.
** Fix compilation error related to __FUNCTION__ on some systems.
Reported by Tim Mooney, see
<https://savannah.gnu.org/support/?106267>.
** Documented the --priority option to gnutls-cli and gnutls-serv.
** Fix fopen file descriptor leak in PSK server code.
Thanks to Laurence Withers <l@lwithers.me.uk>, see
<http://lists.gnu.org/archive/html/gnutls-devel/2008-04/msg00002.html>.
** Build Guile code with -fgnu89-inline only when supported.
Reported by Kris Karas <ktk@enterprise.bidmc.harvard.edu> in
<http://permalink.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/2708>.
** Make Camellia encryption work.
Reported by Yoshisato YANAGISAWA <yanagisawa@csg.is.titech.ac.jp> in
<http://thread.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/2746>.
** API and ABI modifications:
No changes since last version.
* Version 2.2.2 (released 2008-02-21)
** Cipher priority string handling now handle strings that starts with NULL.
Thanks to Laurence Withers <l@lwithers.me.uk>.
** Corrected memory leaks in session resuming and DHE ciphersuites. Reported
by Daniel Stenberg.
** Increased the default certificate verification chain limits and allowed
for checks without limitation.
** Corrected the behaviour of gnutls_x509_crt_get_subject_alt_name()
and gnutls_x509_crt_get_subject_alt_name() to not null terminate binary
strings and return the proper size.
** API and ABI modifications:
No changes since last version.
* Version 2.2.1 (released 2008-01-17)
** Prevent linking libextra against previously installed libgnutls.
Tiny patch from "Alon Bar-Lev" <alon.barlev@gmail.com>, see
<http://bugs.gentoo.org/show_bug.cgi?id=202269>.
** Fixes the post_client_hello_function(). The extensions are now parsed
in a callback friendly way.
** Fix for certificate selection in servers with certificate callbacks.
** API and ABI modifications:
No changes since last version.
* Version 2.2.0 (released 2007-12-14)
** Update internal copy of libtasn1 to version 1.2.
** Certtool --verify-chain now handle inputs larger than 64kb.
This fixes the self-test "rsa-md5-collision" under MinGW+Wine with
recent versions of libgcrypt. The problem was that Wine with the
libgcrypt RNG generates huge amounts of debugging output.
** Translation updates.
Added Dutch translation. Updated Polish and Swedish translation.
** Major changes compared to the v2.0 branch:
*** SRP support aligned with newly published RFC 5054.
*** OpenPGP support aligned with newly published RFC 5081.
*** Support for DSA2 keys.
*** Support for Camellia cipher.
*** Support for Opaque PRF Input extension.
*** PKCS#8 parser now handle DSA keys.
*** Change from GPLv2 to GPLv3 for command-line tools, libgnutls-extra, etc.
Notice that liblzo2 2.02 is licensed under GPLv2 only. Earlier
versions, such as 2.01 which is included with GnuTLS, is available
under GPLv2 or later. If this incompatibility causes problems, we
recommend you to disable LZO using --without-lzo. LZO compression is
not a standard TLS compression algorithm, so the impact should be
minimal.
*** Functions for disabling record protocol padding.
Works around bugs on Nokia/Ericsson phones.
*** New functions gnutls_priority_set() for setting cipher priorities easily.
Priorities like "COMPAT" also enables other work arounds, such as
disabling padding.
*** Other minor improvements and bug fixes.
** Backwards incompatible API/ABI changes in GnuTLS 2.2
To adapt to changes in the TLS extension specifications for OpenPGP
and SRP, the GnuTLS API had to be modified. This means breaking the
API and ABI backwards compatibility. That is something we try to
avoid unless it is necessary. We decided to also remove the already
deprecated stub functions for X.509 to XML conversion and TLS
authorization (see below) when we had the opportunity.
Generally, most applications does not need to be modified. Just
re-compile them against the latest GnuTLS release, and it should work
fine.
Applications that use the OpenPGP or SRP features needs to be
modified. Below is a list of the modified APIs and discussion of what
the minimal things you need to modify in your application to make it
work with GnuTLS 2.2.
Note that GnuTLS 2.2 also introduces new APIs -- such as
gnutls_set_priority() that is superior to
gnutls_set_default_priority() -- that you may want to start using.
However, using those new APIs is not required to use GnuTLS 2.2 since
the old functions continue are still supported. This text only
discuss what you minimally have to modify.
*** XML related changes
The function `gnutls_x509_crt_to_xml' has been removed. It has been
deprecated and only returned an error code since GnuTLS version
1.2.11. Nobody has complained, so users doesn't seem to miss the
functionality. We don't know of any other library to convert X.509
certificates into XML format, but we decided (long ago) that GnuTLS
isn't the right place for this kind of functionality. If you want
help to find some other library to use here, please explain and
discuss your use case on help-gnutls@gnu.org.
*** TLS Authorization related changes
Everything related to TLS authorizations have been removed, they were
only stub functions that returned an error code:
GNUTLS_SUPPLEMENTAL_AUTHZ_DATA
gnutls_authz_data_format_type_t
gnutls_authz_recv_callback_func
gnutls_authz_send_callback_func
gnutls_authz_enable
gnutls_authz_send_x509_attr_cert
gnutls_authz_send_saml_assertion
gnutls_authz_send_x509_attr_cert_url
gnutls_authz_send_saml_assertion_url
*** SRP related changes
The callback gnutls_srp_client_credentials_function has a new
prototype, and its semantic has changed. You need to rewrite the
callback, see the updated function documentation and SRP example code
(doc/examples/ex-client-srp.c and doc/examples/ex-serv-srp.c) for more
information.
The alert codes GNUTLS_A_MISSING_SRP_USERNAME and
GNUTLS_A_UNKNOWN_SRP_USERNAME are no longer used by the SRP
specification, instead the GNUTLS_A_UNKNOWN_PSK_IDENTITY alert is
used. There are #define's to map the old names to the new. You may
run into problems if you have a switch-case with cases for both SRP
alerts, since they are now mapped to the same value. The solution is
to drop the SRP alerts from such switch cases, as they are now
deprecated in favor of GNUTLS_A_UNKNOWN_PSK_IDENTITY.
*** OpenPGP related changes
The function `gnutls_certificate_set_openpgp_keyserver' have been
removed. There is no replacement functionality inside GnuTLS. If you
need keyserver functionality, consider using the GnuPG tools.
All functions, types, and error codes related to OpenPGP trustdb
format have been removed. The trustdb format is a non-standard
GnuPG-specific format, and we recommend you to use key rings instead.
The following have been removed:
gnutls_certificate_set_openpgp_trustdb
gnutls_openpgp_trustdb_init
gnutls_openpgp_trustdb_deinit
gnutls_openpgp_trustdb_import
gnutls_openpgp_key_verify_trustdb
gnutls_openpgp_trustdb_t
GNUTLS_E_OPENPGP_TRUSTDB_VERSION_UNSUPPORTED
The following functions has an added parameter of the (new) type
`gnutls_openpgp_crt_fmt_t'. The type specify the format of the data
(binary or base64). The functions are:
gnutls_certificate_set_openpgp_key_file
gnutls_certificate_set_openpgp_key_mem
gnutls_certificate_set_openpgp_keyring_mem
gnutls_certificate_set_openpgp_keyring_file
To improve terminology and align with the X.509 interface, some
functions have been renamed. Compatibility mappings exists. The old
and new names of the affected functions and types are:
Old name New name
gnutls_openpgp_key_t gnutls_openpgp_crt_t
gnutls_openpgp_key_fmt_t gnutls_openpgp_crt_fmt_t
gnutls_openpgp_key_status_t gnutls_openpgp_crt_status_t
GNUTLS_OPENPGP_KEY GNUTLS_OPENPGP_CERT
GNUTLS_OPENPGP_KEY_FINGERPRINT GNUTLS_OPENPGP_CERT_FINGERPRINT
gnutls_openpgp_key_init gnutls_openpgp_crt_init
gnutls_openpgp_key_deinit gnutls_openpgp_crt_deinit
gnutls_openpgp_key_import gnutls_openpgp_crt_import
gnutls_openpgp_key_export gnutls_openpgp_crt_export
gnutls_openpgp_key_get_key_usage gnutls_openpgp_crt_get_key_usage
gnutls_openpgp_key_get_fingerprint gnutls_openpgp_crt_get_fingerprint
gnutls_openpgp_key_get_pk_algorithm gnutls_openpgp_crt_get_pk_algorithm
gnutls_openpgp_key_get_name gnutls_openpgp_crt_get_name
gnutls_openpgp_key_get_version gnutls_openpgp_crt_get_version
gnutls_openpgp_key_get_creation_time gnutls_openpgp_crt_get_creation_time
gnutls_openpgp_key_get_expiration_time gnutls_openpgp_crt_get_expiration_time
gnutls_openpgp_key_get_id gnutls_openpgp_crt_get_id
gnutls_openpgp_key_check_hostname gnutls_openpgp_crt_check_hostname
gnutls_openpgp_send_key gnutls_openpgp_send_cert
** API and ABI modifications:
No changes since last version.
* Version 2.1.8 (released 2007-12-10)
** The GPL version has been changed from version 2 to version 3.
This affects the self-tests, command-line tools, the libgnutls-extra
library, the relevant guile parts, and the build environment.
** Added gnutls_x509_crt_get_subject_alt_name2().
** Corrected a segfault when setting an empty gnutls_priority_t
at gnutls_priority_set().
** Use gettext 0.17 which updates m4/lib-*.m4 macros.
Fixes a problem with spurious -L/usr/lib additions.
** API and ABI modifications:
gnutls_x509_crt_get_subject_alt_name2: ADD.
* Version 2.1.7 (released 2007-11-29)
** PKCS #8 parser can now encode/decode DSA keys.
** Updated gnutls_set_default_priority2() now renamed to
gnutls_priority_set() and gnutls_priority_set_direct() which
accept a string to indicate preferences of ciphersuite parameters.
** gnutls-cli and gnutls-serv now have a --priority option to set
the priority string.
** The gnutls_*_convert_priority() functions were deprecated by
the gnutls_priority_set() and gnutls_priority_set_direct().
** Internal copy of OpenCDK upgraded to version 0.6.6.
** API and ABI modifications:
gnutls_priority_init: ADD.
gnutls_priority_deinit: ADD.
gnutls_priority_set: ADD.
gnutls_priority_set_direct: ADD.
gnutls_set_default_priority2: RENAMED to gnutls_priority_set_direct()
gnutls_mac_convert_priority: REMOVED
gnutls_compression_convert_priority: REMOVED
gnutls_protocol_convert_priority: REMOVED
gnutls_kx_convert_priority: REMOVED
gnutls_cipher_convert_priority: REMOVED
gnutls_certificate_type_convert_priority: REMOVED
gnutls_set_default_priority: UNDEPRECATED
gnutls_set_default_priority_export: UNDEPRECATED
** Undocumented API and ABI modifications earlier in the 2.1.x series:
GNUTLS_CIPHER_UNKNOWN: ADD.
GNUTLS_CIPHER_CAMELLIA_128_CBC: ADD.
GNUTLS_CIPHER_CAMELLIA_256_CBC: ADD.
GNUTLS_KX_UNKNOWN: ADD.
GNUTLS_COMP_UNKNOWN: ADD.
GNUTLS_CRT_UNKNOWN: ADD.
gnutls_mac_get_id: ADD.
gnutls_compression_get_id: ADD.
gnutls_cipher_get_id: ADD.
gnutls_kx_get_id: ADD.
gnutls_protocol_get_id: ADD.
gnutls_certificate_type_get_id: ADD.
gnutls_handshake_post_client_hello_func: ADD.
gnutls_certificate_send_x509_rdn_sequence: ADD prototype to gnutls.h.in.
* Version 2.1.6 (released 2007-11-15)
** Corrected bug in decompression of expanded compression data.
** Added the --to-p8 option to certtool to convert private keys
to PKCS #8 keys.
** Introduced the GNUTLS_E_BASE64_UNEXPECTED_HEADER_ERROR error code.
** gnutls_certificate_set_x509_key_* can now read PKCS #8 unencrypted
private keys.
** Fixed GNUTLS_E_UNKNOWN_ALGORITHM vs GNUTLS_E_UNKNOWN_HASH_ALGORITHM.
During the 2.1.x series the GNUTLS_E_UNKNOWN_HASH_ALGORITHM error code
was renamed to GNUTLS_E_UNKNOWN_ALGORITHM, unfortunately without being
documented. This caused some problems (e.g., debian #450854). To
avoid backwards compatibility problems, this release revert this
change, so that GNUTLS_E_UNKNOWN_HASH_ALGORITHM works just like it has
done in GnuTLS 2.0.x and earlier, and add a new error code
GNUTLS_E_UNKNOWN_ALGORITHM.
** Fixes several gtk-doc warnings.
** API and ABI modifications:
GNUTLS_E_UNKNOWN_ALGORITHM: CHANGED.
GNUTLS_E_UNKNOWN_HASH_ALGORITHM: CHANGED.
GNUTLS_E_BASE64_UNEXPECTED_HEADER_ERROR: ADD.
* Version 2.1.5 (released 2007-11-01)
** Fix PKCS#3 parameter export problem.
** Improve certtool queries, they now print the default value.
** Fix ABI version.
** Update gnulib files.
** API and ABI modifications:
No changes since last version.
* Version 2.1.4 (released 2007-10-27)
** Added the --v1 option to certtool, to allow generating X.509
version 1 certificates.
** certtool: Add option --disable-quick-random to enable the old behaviour
of using /dev/random to generate keys.
** Added priority functions that accept strings.
** Added gnutls_set_default_priority2() which accepts a flag to indicate
priorities preferences.
** Added gnutls_record_disable_padding() to allow servers talking to
buggy clients that complain if the TLS 1.0 record protocol padding is
used.
** Introduced gnutls_session_enable_compatibility_mode() to allow enabling
all supported compatibility options (like disabling padding).
** The gnutls_certificate_set_openpgp_* functions were modified to include
the format. This makes the interface consistent with the x509 functions.
** Internal copy of OpenCDK upgraded to version 0.6.5.
** Update gnulib files.
** API and ABI modifications:
gnutls_certificate_set_openpgp_key_mem: MODIFIED
gnutls_certificate_set_openpgp_key_file: MODIFIED
gnutls_certificate_set_openpgp_keyring_mem: MODIFIED
gnutls_certificate_set_openpgp_keyring_file: MODIFIED
gnutls_set_default_priority: DEPRECATED
gnutls_set_default_priority_export: DEPRECATED
gnutls_set_default_priority2: ADDED
gnutls_session_enable_compatibility_mode: ADDED
gnutls_record_disable_padding: ADDED
gnutls_mac_convert_priority: ADDED
gnutls_compression_convert_priority: ADDED
gnutls_protocol_convert_priority: ADDED
gnutls_kx_convert_priority: ADDED
gnutls_cipher_convert_priority: ADDED
gnutls_certificate_type_convert_priority: ADDED
gnutls_openpgp_key_t: RENAMED to gnutls_openpgp_crt_t
gnutls_openpgp_key_status_t: RENAMED to gnutls_openpgp_crt_status_t
gnutls_openpgp_send_key: RENAMED to gnutls_openpgp_send_cert
gnutls_openpgp_key_init: RENAMED to gnutls_openpgp_crt_init
gnutls_openpgp_key_import: RENAMED to gnutls_openpgp_crt_import
gnutls_openpgp_key_export: RENAMED to gnutls_openpgp_crt_export
gnutls_openpgp_key_check_hostname: RENAMED to gnutls_openpgp_crt_check_hostname
gnutls_openpgp_key_get_creation_time: RENAMED to gnutls_openpgp_crt_get_creation_time
gnutls_openpgp_key_get_expiration_time: RENAMED to gnutls_openpgp_crt_get_expiration_time
gnutls_openpgp_key_get_fingerprint: RENAMED to gnutls_openpgp_crt_get_fingerprint
gnutls_openpgp_key_get_version: RENAMED to gnutls_openpgp_crt_get_version
gnutls_openpgp_key_get_pk_algorithm: RENAMED to gnutls_openpgp_crt_get_pk_algorithm
gnutls_openpgp_key_get_name: RENAMED to gnutls_openpgp_crt_get_name
gnutls_openpgp_key_deinit: RENAMED to gnutls_openpgp_crt_deinit
gnutls_openpgp_key_get_id: RENAMED to gnutls_openpgp_crt_get_id
gnutls_openpgp_key_get_key_usage: RENAMED to gnutls_openpgp_crt_get_key_usage
gnutls_openpgp_key_verify_ring: RENAMED to gnutls_openpgp_crt_verify_ring
gnutls_openpgp_key_verify_self: RENAMED to gnutls_openpgp_crt_verify_self
* Version 2.1.3 (released 2007-10-17)
** TLS authorization support removed.
This technique may be patented in the future, and it is not of crucial
importance for the Internet community. After deliberation we have
concluded that the best thing we can do in this situation is to
encourage society not to adopt this technique. We have decided to
lead the way with our own actions.
** Re-enabled the 256 bit ciphers in the default priorities.
** Corrected bugs in openpgp key verification using a keyring (both in
gnutls and opencdk)
** API and ABI modifications:
gnutls_certificate_set_openpgp_keyserver: REMOVED
gnutls_authz_data_format_type_t,
gnutls_authz_recv_callback_func,
gnutls_authz_send_callback_func,
gnutls_authz_enable,
gnutls_authz_send_x509_attr_cert,
gnutls_authz_send_saml_assertion,
gnutls_authz_send_x509_attr_cert_url,
gnutls_authz_send_saml_assertion_url: REMOVED.
GNUTLS_SUPPLEMENTAL_USER_MAPPING_DATA: ADDED. To avoid that the
gnutls_supplemental_data_format_type_t enum type becomes empty.
* Version 2.1.2 (released 2007-10-14)
** Removed all the trustdb code from openpgp authentication.
We now use only the well-specified keyrings.
** The 256 bit ciphers are not enabled in the default priorities.
** Added support for DSA2 using libgcrypt 1.3.0.
** certtool: Fixed data corruption when using --outder.
** Removed all the xml related stubs and functions.
** Added capability to set a callback after the client hello is received
by the server in order to adjust parameters before the handshake.
** SRP was corrected to adhere to the latest draft (published soon as RFC)
** Corrected bug which did not allow a server to run without supporting
certificates.
** Updated the DN parser which now prints wrongly decoded values as hex
strings.
** certtool: Add option --quick-random.
For generating low security test credentials.
** API and ABI modifications:
gnutls_x509_crt_to_xml: REMOVED
gnutls_openpgp_key_to_xml: REMOVED
gnutls_openpgp_key_verify_trustdb: REMOVED
gnutls_openpgp_trustdb_init: REMOVED
gnutls_openpgp_trustdb_deinit: REMOVED
gnutls_openpgp_trustdb_import: REMOVED
gnutls_certificate_set_openpgp_trustdb: REMOVED
gnutls_srp_client_credentials_function: CHANGED
gnutls_handshake_set_post_client_hello_function: ADDED
gnutls_mac_get_key_size: ADDED
GNUTLS_E_OPENPGP_TRUSTDB_VERSION_UNSUPPORTED: DEPRECATED.
GNUTLS_A_MISSING_SRP_USERNAME: DEPRECATED
GNUTLS_A_UNKNOWN_SRP_USERNAME: DEPRECATED
* Version 2.1.1 (released 2007-09-24)
** Added support for Camellia cipher, thanks to Yoshisato YANAGISAWA.
Camellia is only enabled in GnuTLS if the installed libgcrypt has been
compiled with Camellia support. See the libgcrypt documentation on
how to enable it. Unconditionally disable it using the configure
option --disable-camellia. Fixes #1.
** Properly document in the NEWS file the API change in the last release.
** API and ABI modifications:
No changes since last version.
* Version 2.1.0 (released 2007-09-20)
** Support for draft-rescorla-tls-opaque-prf-input-00.txt.
The support is disabled by default. Since no value has been allocated
by the IANA for this extension yet, you will need to provide one
yourself by invoking './configure --enable-opaque-prf-input=42'.
Fixes #2.
** Example code: Fix compilation flaw under MinGW.
** API and ABI modifications:
gnutls_oprfi_callback_func: ADD, new typedef function prototype.
gnutls_oprfi_enable_client: ADD, new function.
gnutls_oprfi_enable_server: ADD, new function.
* Version 2.0.4 (released 2007-11-16)
** Corrected bug in decompression of expanded compression data.
** API and ABI modifications:
No changes since last version.
* Version 2.0.3 (released 2007-11-10)
** This version backports several fixes from the 2.1.x branch.
** Fixed PKCS #3 parameter export.
** Added gnutls_record_disable_padding() to allow servers talking to
buggy clients that complain if the TLS 1.0 record protocol padding is
used.
** Introduced gnutls_session_enable_compatibility_mode() to allow enabling
all supported compatibility options (like disabling padding).
** Corrected bug which did not allow a server to run without supporting
certificates.
** API and ABI modifications:
gnutls_session_enable_compatibility_mode: ADDED
gnutls_record_disable_padding: ADDED
* Version 2.0.2 (released 2007-10-17)
** TLS authorization support removed.
This technique may be patented in the future, and it is not of crucial
importance for the Internet community. After deliberation we have
concluded that the best thing we can do in this situation is to
encourage society not to adopt this technique. We have decided to
lead the way with our own actions.
** certtool: Fixed data corruption when using --outder.
** Fix configure-time Guile detection.
** API and ABI modifications:
GNUTLS_SUPPLEMENTAL_USER_MAPPING_DATA: ADDED. To avoid that the
gnutls_supplemental_data_format_type_t enum type becomes empty.
* Version 2.0.1 (released 2007-09-20)
** New directory doc/credentials/ with test credentials.
This collects the test credentials from the web page and from src/.
The script gnutls-http-serv has also been moved to that directory.
** Update SRP extension type and cipher suite with official IANA values.
This breaks backwards compatibility with SRP in older versions of
GnuTLS, but this is intentional to speed up the adoption of the
official values. The old values we used were incorrect.
** Guile: Fix `x509-certificate-dn-oid'
** API and ABI modifications:
No changes since last version.
* Version 2.0.0 (released 2007-09-04)
** Included copy of Libtasn1 upgraded to version 1.1.
** Disable building of some examples if anonymous ciphers are disabled.
** Don't build examples for disabled features.
** API and ABI modifications:
No changes since last version.
* Version 1.7.19 (released 2007-08-27)
** Fix gnutls_error_is_fatal so that positive "errors" are non-critical.
This solves connection problems in mutt, see
<http://bugs.debian.org/439640>.
** Update gnulib files.
In particular, the getpass module -- with its dependencies on getline,
getdelim, fseeko etc -- where moved from the lgl/ (used by the core
library) directory to the gl/ directory (only used by the command line
tools). The reason is that getpass is now only used by the
command-line tools, and reducing the number of gnulib modules linked
to the core library helps portability and reduces size.
** Fix warnings.
** Disable building of PGP examples if PGP is disabled.
** Included copy of OpenCDK upgraded to version 0.6.4.
** API and ABI modifications:
No changes since last version.
* Version 1.7.18 (released 2007-08-16)
** Install images for the info manual.
This has a side effect of renaming the images. See
<http://thread.gmane.org/gmane.comp.tex.texinfo.bugs/3533> for
discussions on the approach chosen.
** Fix pointer mix to variables of different size.
Patch extracted from
<http://cvs.fedora.redhat.com/viewcvs/devel/gnutls/gnutls-1.6.3-incompat-pointers.patch?rev=1.1&view=auto>.
** Fix warnings during build.
Thanks to Andreas Metzler <ametzler@downhill.at.eu.org>.
** API and ABI modifications:
No changes since last version.
* Version 1.7.17 (released 2007-08-15)
** New functions to perform external signing.
Set the signing callback function (of the gnutls_sign_func prototype)
using the gnutls_sign_callback_set function. In the callback, you may
find the new functions gnutls_x509_privkey_sign_hash and
gnutls_openpgp_privkey_sign_hash useful. A new function
gnutls_sign_callback_get is also added, to retrieve the function
pointer. Thanks to "Alon Bar-Lev" <alon.barlev@gmail.com> for
comments and testing.
** New self test of client and server authenticated X.509 TLS sessions.
See tests/x509self.c and tests/x509signself.c. The latter also tests
the new external signing callback interface.
** New errors GNUTLS_E_APPLICATION_ERROR_MIN..GNUTLS_E_APPLICATION_ERROR_MAX.
These two actually describe the outer limits of a range of error codes
reserved to the application. All of the errors are treated as fatal
by the library (it has to since it doesn't know the semantics of the
error codes). This can be useful in callbacks, to signal some
application-specific error condition, which will usually eventually
cause some gnutls API to return the same error code as the callback,
which then can be inspected by the application. Note that error codes
are negative.
** gnutls_set_default_priority now disable TLS 1.2 by default.
The RFC is not released yet, and we're approaching a major release so
let's not enable it just yet.
** Fix namespace so that gnutls_*_t is used consistently.
Before, many places in the GnuTLS code used the old deprecated type
names without the '_t' suffix.
** Build fixes for Guile code.
Patch from Ludovic Courtes <ludovic.courtes@laas.fr>.
** More documentation fixes.
In particular, the section headings were modified for casing. By
Ludovic Courtes <ludovic.courtes@laas.fr>.
** Updated Polish and Swedish translations.
Thanks to Jakub Bogusz <qboosh@pld-linux.org> and Daniel Nylander
<po@danielnylander.se>.
** API and ABI modifications:
gnutls_sign_func: ADD, new type for sign callback.
gnutls_sign_callback_set: ADD, new function to set sign callback.
gnutls_sign_callback_get: ADD, new function to retrieve sign callback.
gnutls_x509_privkey_sign_hash,
gnutls_openpgp_privkey_sign_hash: ADD, new functions useful in sign callback.
GNUTLS_E_APPLICATION_ERROR_MIN,
GNUTLS_E_APPLICATION_ERROR_MAX: ADD, new CPP #defines for error codes.
* Version 1.7.16 (released 2007-08-07)
** Fix sanity checks and return values in certificate selection.
In some cases, GnuTLS omitted to report suitable error codes when no
suitable certificate was found.
** Fix gnutls-cli starttls EOF on Mac OS X.
Thanks to Hal Eden <n.mavrogiannopoulos@gmail.com>.
** Documentation fixes.
In particular, the section headings were modified for casing. By
Ludovic Courtes <ludovic.courtes@laas.fr>.
** Update gnulib files.
** API and ABI modifications:
No changes since last version.
* Version 1.7.15 (released 2007-07-02)
** Fix self-tests key-id under mingw32.
** Test that the Guile header files are recent enough to work.
Before we just tested that the command line tool 'guile' was recent
enough, which may not be sufficient if you still have an old
libguile.h header installed.
** Guile bindings are now installed under $prefix by default.
Use --without-guile-site-dir to install it under $pkgdatadir/site/
where $pkgdatadir is as returned by "guile-config info pkgdatadir".
Use --with-guile-site-dir=/your/own/path to specify the path manually.
The default, --with-guile-site-dir, will install the Guile bindings
under $datadir/guile/site. There is a new section 'Guile
Preparations' in the manual that discuss these issues.
** Fix run-time library path ordering in linking the Guile bindings.
** Improved manual on downloading, installing, getting help, bug reports etc.
Suggested by Ludovic Courtès <ludovic.courtes@laas.fr>.
** Add Malay message translations.
Thanks to Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>.
** API and ABI modifications:
No changes since last version.
* Version 1.7.14 (released 2007-06-26)
** Don't enable Guile bindings unless we have Guile 1.8 or later.
Patch from Ludovic Courtès <ludovic.courtes@laas.fr>.
** Fix memory leak during DSA signature verification.
Patch from Ludovic Courtès <ludovic.courtes@laas.fr>.
** Fix crash in gnutls-cli when TLS handshake fails.
Reported by Marc Haber <mh+debian-bugs@zugschlus.de> and Andreas
Metzler <ametzler@downhill.at.eu.org> via Debian BTS #429183, see
<http://bugs.debian.org/429183>.
** Minor OpenPGP fixes in stream_to_datum.
Patch from Timo Schulz <twoaday@freakmail.de> and Ludovic Courtès
<ludovic.courtes@laas.fr>.
** Fix off-by-one in TLS 1.2 handshake.
Patch from Ludovic Courtès <ludovic.courtes@laas.fr>.
** Minor Guile binding self-test cleanup.
Patch from Ludovic Courtès <ludovic.courtes@laas.fr>.
** Update gnulib files.
** API and ABI modifications:
No changes since last version.
* Version 1.7.13 (released 2007-06-11)
** OpenCDK copy updated to version 0.6.3.
** Build fixes for GnuTLS Guile bindings.
Patch from Ludovic Courtès <ludovic.courtes@laas.fr>.
** Build fix for GTK-DOC manual.
** Update gnulib files.
** API and ABI modifications:
No changes since last version.
* Version 1.7.12 (released 2007-06-08)
** Guile bindings for GnuTLS have been included.
Contributed by Ludovic Courtès <ludovic.courtes@laas.fr>. There is a
new chapter 'Guile Bindings' in the manual.
** Have PKCS8 parser return better error codes.
Reported by Nate Nielsen <nielsen-list@memberwebs.com>, see
<http://lists.gnupg.org/pipermail/gnutls-dev/2007-May/001653.html> and
<http://lists.gnupg.org/pipermail/gnutls-dev/2007-May/001654.html>.
** Fix mem leak for sessions with client authentication via certificates.
Reported by Andrew W. Nosenko <andrew.w.nosenko@gmail.com>, see
<http://lists.gnupg.org/pipermail/gnutls-dev/2007-April/001539.html>.
** Fix mem leaks.
Reported by Dennis Vshivkov <walrus@amur.ru>, see
<http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=333050>. Added
self-test tests/parse_ca.c to test regressions.
** Fix build failures related to missing images in manual.
Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
** Update gnulib files.
** API and ABI modifications:
No changes since last version.
* Version 1.7.11 (released 2007-05-26)
** Include opencdk.h in the release.
Reported by Roman Bogorodskiy <novel@FreeBSD.org>.
** API and ABI modifications:
No changes since last version.
* Version 1.7.10 (released 2007-05-25)
** New API functions to extract DER encoded X.509 Subject/Issuer DN.
Suggested by Nate Nielsen <nielsen-list@memberwebs.com>.
** Update of gnulib files.
** GnuTLS is now developed in GIT instead of CVS.
See <http://repo.or.cz/w/gnutls.git> for a public repository.
** API and ABI modifications:
gnutls_x509_crt_get_raw_issuer_dn: ADD.
gnutls_x509_crt_get_raw_dn: ADD.
* Version 1.7.9 (released 2007-05-12)
** X.509 certificates are preferred over OpenPGP keys.
This is a change in the semantics of gnutls_set_default_priority.
** The included copy of OpenCDK has been updated to 0.6.1.
There has been some API changes in OpenCDK, and the GnuTLS layer have
been modified as well. Note that while there are API/ABI incompatible
changes in OpenCDK, this does not influence GnuTLS's API/ABI because
its API/ABI have not changed. From this version on, GnuTLS requires
OpenCDK 0.6.0 or later.
** Fix build failure caused by missing doc/gnutls-logo.pdf.
** Change certtool's default serial number from 0 to a time-based value.
** Fix X.509 signing with RSA-PKCS#1 to set a NULL parameters fields.
Before, we remove the parameters field, which resulted in a slightly
different DER encoding which in turn caused signature verification
failures of GnuTLS-generated RSA certificates in some other
implementations (e.g., GnuPG 2.x's gpgsm). Depending on which RFCs
you read, this may or may not be correct, but our new behaviour appear
to be consistent with other widely used implementations.
** Fix mem leaks in gnutls_x509_crt_print.
** API and ABI modifications:
No changes since last version.
* Version 1.7.8 (released 2007-04-16)
** Added examples for the authorization extension.
See doc/examples/ex-client-authz.c and doc/examples/ex-serv-authz.c.
** The examples only use gnutls_set_default_priority().
The exception is when DH_ANON is needed.
** Improve gnutls_set_default_priority() priorities.
The new approach is for it to try and negotiate all secure and
standard mechanisms available. Currently, DH_ANON ciphersuites and
LZO compressions are not enabled by default, because they are,
respectively, insecure and non-standardized. Note that TLS 1.2 will
not be enabled by default in non-experimental release until it has
been approved by the IETF.
** gnutls-cli and gnutls-serv now uses the library's default priorities.
This means that to get DH_ANON and LZO compression, you'll need to
specify that manually using '--kx anon' or '--comp lzo'.
** Minor fixes to the human display format of X.509 certificates.
** New APIs to extract Distinguished Name's from X.509 certificates.
Based on patch from Howard Chu <hyc@symas.com>.
** Improved library searching for opencdk.
It will now add the appropriate -R or -Wl,-rpath flags as necessary.
The deprecated opencdk.m4 is no longer used.
** New APIs to list supported algorithms in the library.
The APIs are gnutls_cipher_list, gnutls_mac_list,
gnutls_compression_list, gnutls_protocol_list,
gnutls_certificate_type_list, gnutls_kx_list, and
gnutls_cipher_suite_info. Suggested by Howard Chu <hyc@symas.com>.
** The gnutls_x509_crt_get_key_id API now handle non-RSA/DSA keys.
** New configure option --disable-tls-authorization to disable tls-authz.
** Fix prototype for `gnutls_psk_set_client_credentials'.
The last parameter was renamed from 'flags' to 'format' and the type
changed from 'unsigned int' to 'gnutls_psk_key_flags' (an enum type),
which shouldn't cause any ABI changes. Reported by ludo@chbouib.org
(Ludovic Courtès).
** Fix allocation in gnutls_certificate_set_openpgp_key.
Tiny patch from ludo@chbouib.org (Ludovic Courtès).
** API and ABI modifications:
gnutls_x509_dn_t: ADD.
gnutls_x509_ava_st: ADD.
gnutls_x509_crt_get_subject,
gnutls_x509_crt_get_issuer: ADD.
gnutls_x509_dn_get_rdn_ava: ADD.
gnutls_cipher_list: ADD.
gnutls_mac_list: ADD.
gnutls_compression_list: ADD.
gnutls_protocol_list: ADD.
gnutls_certificate_type_list: ADD.
gnutls_kx_list: ADD.
gnutls_cipher_suite_info: ADD.
* Version 1.7.7 (released 2007-02-22)
** Support for supplemental handshake messages and authorization data.