1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-26 10:04:02 +03:00

75 Commits

Author SHA1 Message Date
Andreas Schneider
72979d1d60 heimdal: Fix size types
This fixes compilation with -Wstrict-overflow=2

Upstream pull request:
https://github.com/heimdal/heimdal/pull/354

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2018-03-20 23:16:14 +01:00
Love Hornquist Astrand
9f245aafdc HEIMDAL: allow optional q in DH DomainParameters
BUG: https://bugzilla.samba.org/show_bug.cgi?id=12986

Reviewed-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
(cherry picked from heimdal commit e8317b955f5a390c4f296871ba6987ad05478c95)
2017-08-28 11:18:15 +02:00
Chris Lamb
afa9bb4ac5 Correct "extention" typos.
Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
2017-02-22 08:26:22 +01:00
Uri Simchoni
6379737b7d heimdal: encode/decode kvno as signed integer
This patch changes the encoding/decoding of kvno (key version number)
in blobs and packets to signed integer, for compatibility with Windows.
Reportedly, MIT Kerberos does the same.

This patch effectively reverts commit 1124c4872dfb81bec9c4b527b8927ca35e39a599
in the heimdal tree.

According to the Kerberos spec (RFC 4120 5.2.9), the kvno field
in encrypted data object is an unsigned integer that fits in
32 bits. The Heimdal Kerberos component bundled with Samba
conforms to this. However, Windows deviates from the standard
and encodes kvno as a signed integer, and this creates
interoperability issues.

ASN.1 DER has no special encoding for unsigned integer. A 32-bit
unsigned integer is encoded as a signed integer, so while a signed
32-bit integer (covering the range of -0x80000000..0x7fffffff) is
encoded using up to 4 bytes, an unsigned integer (covering
0..0xffffffff) could require 5 bytes.

Normally, kvno for a given account starts at 1 and increments on
password changes. Kerberos defined this as unsigned because there's
no meaning for negative version numbers, so the standard writers figured
4 billion versions is better than 2 billion. It was not
expected for a kvno to really go past 0x7fffffff and the disctinction
usually does not matter. However, RODCs use kvnos which
have the most-significant bit set.

In Active Directory, RODCs have a private secret for the krbtgt,
because the assumption is that the RODC is less secure, and
recovering the domain krbtgt secret from the RODC would compromise
the security of the entire domain. The kvno field is being used
to identify the private krbtgt account that owns the key - the
upper 16 bits are the RODC id, and the lower 16 bits identify
the key version number for this specific RODC. It's common to
have an RODC id greater than 0x8000, and therefore to have a
kvno larger than 0x7fffffff, which would be DER-encoded using
5 bytes.

Windows encodes kvno as signed integer - basically taking the
32 bits and treating them as a signed integer rather than an
unsigned integer. This means that in Windows a kvno can
always be encoded using 4 bytes, and Windows DCs reject a kvno
encoded using more than 4 bytes without even generating an error
response (the DC assumes it's an attack).

Heimdal re-encodes the TGT when it creates a TGS request. Obviously
it cannot decode and encode the encrypted parts but it does re-encode
the plain parts, which include the kvno. That leads to a 5-byte
kvno in the TGS request, which is rejected without an error
response.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=11900

Signed-off-by: Uri Simchoni <uri@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>

Autobuild-User(master): Ralph Böhme <slow@samba.org>
Autobuild-Date(master): Sat May  7 21:14:21 CEST 2016 on sn-devel-144
2016-05-07 21:14:21 +02:00
Douglas Bagnall
116f415779 heimdal asn1: avoid fclose(NULL) caused by missing braces
Thanks to GCC6 -Wmisleading-indentation.

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>

Autobuild-User(master): Michael Adam <obnox@samba.org>
Autobuild-Date(master): Thu Mar  3 16:21:52 CET 2016 on sn-devel-144
2016-03-03 16:21:52 +01:00
Stefan Metzmacher
89099611fd heimdal:krb5.asn1: remove KRB5_PADATA_CLIENT_CANONICALIZED handling
This got removed between draft-ietf-krb-wg-kerberos-referrals-11.txt
and the final rfc6806.txt.

The number 133 was reassigned to PA-FX-COOKIE in rfc6113.txt.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
2015-03-12 17:13:42 +01:00
Stefan Metzmacher
0eeaf10fd0 heimdal:lib/asn1: try to fix the build on IRIX
cc-1028 cc: ERROR File = ../source4/heimdal/lib/asn1/gen_template.c, Line = 548
  The expression used must have a constant value.

  struct templatehead template = { 0L, &(template). tqh_first };
                                         ^
If this really fixes the IRIX build, we'll propose this for heimdal upstream.

metze
2012-06-10 18:16:28 +02:00
Andrew Bartlett
45e681d416 heimdal: Re-run lexyacc.sh to remove #line statements 2012-02-10 15:20:33 +11:00
Andrew Bartlett
c38ba53677 heimdal: Re-run lexyacc.sh 2012-02-10 15:20:33 +11:00
Stefan Metzmacher
5a8635bca1 s4:heimdal: import lorikeet-heimdal-201107241840 (commit 0fdf11fa3cdb47df9f5393ebf36d9f5742243036) 2011-07-26 02:16:08 +02:00
Stefan Metzmacher
255e3e18e0 s4:heimdal: import lorikeet-heimdal-201107150856 (commit 48936803fae4a2fb362c79365d31f420c917b85b) 2011-07-15 11:15:05 +02:00
Jelmer Vernooij
431853c846 Merge new lorikeet heimdal, revision 85ed7247f515770c73b1f1ced1739f6ce19d75d2
Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Mon Mar 14 23:53:46 CET 2011 on sn-devel-104
2011-03-14 23:53:46 +01:00
Milan Crha
ea9f72c0c5 s4:heimdal - fix valgrind issue on Fedora 14
This should definitely fix bug #7858.

Signed-off-by: Matthias Dieter Wallnöfer <mdw@samba.org>
Signed-off-by: Andrew Bartlett <abartlet@samba.org>

Autobuild-User: Matthias Dieter Wallnöfer <mdw@samba.org>
Autobuild-Date: Fri Feb 25 12:39:21 CET 2011 on sn-devel-104
2011-02-25 12:39:20 +01:00
Matthias Dieter Wallnöfer
68c61a829b Revert "heimdal_build omit #line statments to allow valgrind to work again"
This reverts commit 80e23c68d83a7c9989f87d5a88a78bb76d222afc.
A better patch has been provided by Milan Crha in the following commit.
2011-02-25 11:54:02 +01:00
Andrew Bartlett
80e23c68d8 heimdal_build omit #line statments to allow valgrind to work again
The lex/yacc files were generated on Fedora 14, and have empty
filenames in #line declarations.  I don't know why this is, but it
seems best just to omit the #line statements.

This is what was causing Valgrind on Fedora not to run on Samba
binaries and programs linked to Samba libraries.

Andrew Bartlett

Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Fri Feb 25 11:46:56 CET 2011 on sn-devel-104
2011-02-25 11:46:56 +01:00
Jelmer Vernooij
02ff0852e8 heimdal_build: Add version-script for asn1. 2010-12-17 20:06:15 +01:00
Andrew Bartlett
c5bea98ddb s4:heimdal: import lorikeet-heimdal-201012010201 (commit 81fe27bcc0148d410ca4617f8759b9df1a5e935c) 2010-12-01 17:00:47 +11:00
Andrew Bartlett
192a555c9a heimdal regenate lex and yacc files 2010-11-15 01:25:06 +00:00
Andrew Bartlett
1342185e33 s4:heimdal: import lorikeet-heimdal-201011102149 (commit 5734d03c20e104c8f45533d07f2a2cbbd3224f29) 2010-11-15 01:25:06 +00:00
Andrew Tridgell
b2a565488e s4-heimdal: lex_err_message() should not be static 2010-10-30 23:49:02 +11:00
Andrew Tridgell
4bd7814a4e s4-heimdal: fixed the use of error_message() in heimdal
the lex code in heimdal had a function error_message() which conflicts
with a function from the com_err library. This replaces it with
lex_err_message()

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-10-30 23:48:59 +11:00
Andrew Bartlett
21460dfc14 s4:heimdal: import lorikeet-heimdal-201010022046 (commit 1bea031b9404b14114b0272ecbe56e60c567af5c) 2010-10-03 01:15:04 +00:00
Matthieu Patou
ab6e3fce04 s4:heimdal: import lorikeet-heimdal-201009250123 (commit 42cabfb5b683dbcb97d583c397b897507689e382)
I based this on Matthieu's import of lorikeet-heimdal, and then
updated it to this commit.

Andrew Bartlett
2010-10-03 01:15:04 +00:00
Andrew Tridgell
04e3e27fd1 heimdal: fixed timegm UTC/GMT bug
This was a wonderful bug!

On some Fedora systems, but not on Ubuntu, there is a difference
between UTC and GMT. Heimdal replaced timegm() with _der_timegm()
which did not account for that difference (which is 24 seconds at the
moment). This led to a mutual authentication failure.

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-09-28 19:25:51 -07:00
Andrew Bartlett
64b8b0cdaf s4:heimal Update generated files (cp from Heimdal) 2010-03-27 12:24:00 +11:00
Andrew Bartlett
533024be44 s4:heimdal: import lorikeet-heimdal-201003262338 (commit f4e0dc17709829235f057e0e100d34802d3929ff) 2010-03-27 11:55:22 +11:00
Andrew Bartlett
564d5cd2c4 s4:heimdal New files and supporting logic for heimdal update 2010-03-27 11:53:23 +11:00
Andrew Bartlett
89eaef0253 s4:heimdal: import lorikeet-heimdal-201001120029 (commit a5e675fed7c5db8a7370b77ed0bfa724196aa84d) 2010-03-27 11:51:27 +11:00
Stefan Metzmacher
4a4b2a5eaf s4:heimdal: regerenate files
Andrew using cp like in commit ca12e7bc8ff4a91f2044c0a60550fec902e97a78
is wrong as that removes #include "config.h" and breaks the build on AIX.

metze
2010-02-08 09:59:29 +01:00
Andrew Bartlett
ca12e7bc8f s4:heimdal Import generated files from heimdal tree
We should be able to rebuild these, but a cp is easier :-)
2009-11-13 23:19:06 +11:00
Andrew Bartlett
4f8ba5ad6a s4:heimdal: import lorikeet-heimdal-200911122202 (commit 9291fd2d101f3eecec550178634faa94ead3e9a1) 2009-11-13 23:19:05 +11:00
Andrew Bartlett
5bc87c14a1 s4:heimdal: import lorikeet-heimdal-200909210500 (commit 290db8d23647a27c39b97c189a0b2ef6ec21ca69) 2009-11-13 23:19:05 +11:00
Andrew Bartlett
cd1d7f4be7 s4:heimdal: import lorikeet-heimdal-200908050050 (commit 8714779fa7376fd9f7761587639e68b48afc8c9c)
This also adds a new hdb-glue.c file, to cope with Heimdal's
uncondtional enabling of SQLITE.

(Very reasonable, but not required for Samba4's use).

Andrew Bartlett
2009-08-05 12:18:17 +10:00
Stefan Metzmacher
5d4d9d333d s4:heimdal: readd heimdal/lib/asn1/asn1parse.y which was parse.y before the last import
Also commit the regenerated files for systems without yacc and lex.

This fixes the build with automatic dependecies for me.

metze
2009-07-06 13:28:11 +02:00
Andrew Bartlett
9b261c008a s4:heimdal: import lorikeet-heimdal-200906080040 (commit 904d0124b46eed7a8ad6e5b73e892ff34b6865ba)
Also including the supporting changes required to pass make test

A number of heimdal functions and constants have changed since we last
imported a tree (for the better, but inconvenient for us).

Andrew Bartlett
2009-06-12 07:45:48 +10:00
Stefan Metzmacher
2b29b71864 s4: import lorikeet-heimdal-200810271034
metze
2008-10-28 08:53:09 +01:00
Stefan Metzmacher
243321b4bb heimdal: import heimdal's trunk svn rev 23697 + lorikeet-heimdal patches
This is based on f56a3b1846c7d462542f2e9527f4d0ed8a34748d in my heimdal-wip repo.

metze
(This used to be commit 467a1f2163a63cdf1a4c83a69473db50e8794f53)
2008-08-26 19:46:38 +02:00
Stefan Metzmacher
9080b5d979 heimdal_build: autogenerate the heimdal private/proto headers
Now it's possible to just use a plain heimdal tree in source/heimdal/
without any pregenerated files.

metze
(This used to be commit da333ca7113f78eeacab4f93b401f075114c7d88)
2008-08-26 18:49:17 +02:00
Stefan Metzmacher
f09f67d24d heimdal: remove unused old files
metze
(This used to be commit 94cef56212d7d7c1150aea760dba24bda7190442)
2008-08-26 18:47:48 +02:00
Stefan Metzmacher
a925f039ee heimdal: update to lorikeet-heimdal rev 801
metze
(This used to be commit d6c54a66fb23c784ef221a3c1cf766b72bdb5a0b)
2008-08-01 16:11:00 +02:00
Andrew Bartlett
9e6b0c2871 Merge lorikeet-heimdal -r 787 into Samba4 tree.
Andrew Bartlett
(This used to be commit d88b530522d3cef67c24422bd5182fb875d87ee2)
2008-03-19 10:17:42 +11:00
Jelmer Vernooij
d378cf4c15 r26310: Remove more uses of global_loadparm.
(This used to be commit 9d806da113b5f0688b6193dfdee9b8765e18b38f)
2007-12-21 05:48:22 +01:00
Stefan Metzmacher
5d482b634d r25734: regenerate yacc output (parse.[ch] files)
metze
(This used to be commit cb3aec0d22e87086d8f922b7d8f0a2530842053f)
2007-12-21 05:43:34 +01:00
Stefan Metzmacher
12215fadf8 r25732: import updated parse.y files from lorikeet-heimdal
I wonder why they're not updated as the parse.[ch]
are generated from the new versions already...

metze
(This used to be commit 9735715a0f2c8ea0c6ff5ba5adde6b6a6fb43aed)
2007-12-21 05:43:32 +01:00
Stefan Metzmacher
733591c079 r25298: regenerate lex.c files with config.h as first include
this should help on aix 5.3.

metze
(This used to be commit bfd8c275bb90b2709753ef3177c8ab24f91c75c0)
2007-10-10 15:07:08 -05:00
Andrew Bartlett
b39330c487 r24614: Merge with current lorikeet-heimdal. This brings us one step closer
to an alpha release.

Andrew Bartlett
(This used to be commit 30e02747d511630659c59eafec8d28f58605943b)
2007-10-10 15:02:25 -05:00
Stefan Metzmacher
c1010f666c r23895: reapply rev 23493:
regenerate lex.c files with flex 2.5.33
this makes sure we include config.h as first header

hopefully fixes the build on SerNet-aix

abartlet: please don't revert that again with your next
          heimdal merge...:-)

metze
(This used to be commit 8da4e9a9ac0fb09a7b84de87e1671a8689e20fcb)
2007-10-10 15:01:08 -05:00
Andrew Tridgell
e1c15c74af r23799: updated old Franklin Street FSF addresses to new URL
(This used to be commit db92b76a0034899f5f0dc2d012ee7709ff9a6132)
2007-10-10 14:59:16 -05:00
Andrew Bartlett
ec0035c9b8 r23678: Update to current lorikeet-heimdal (-r 767), which should fix the
panics on hosts without /dev/random.

Andrew Bartlett
(This used to be commit 14a4ddb131993fec72316f7e8e371638749e6f1f)
2007-10-10 14:58:59 -05:00
Stefan Metzmacher
f5c2f26e84 r23493: regenerate lex.c files with flex 2.5.33
this makes sure we include config.h as first header

hopefully fixes the build on SerNet-aix

metze
(This used to be commit 0149226ece306af4a65c27ce3fff2988232f4523)
2007-10-10 14:53:22 -05:00