summaryrefslogtreecommitdiff
path: root/source4/heimdal_build
AgeCommit message (Collapse)AuthorFilesLines
2019-11-13heimdal_build: Recurse to bld.SAMBA_BINARY()Andrew Bartlett1-40/+12
This reduces a little of the duplication added when it was thought that having a distinct waf wrapper on heimdal might allow this to be ported upstream. It will also streamline building a dedicated fuzzing mode in Samba. Signed-off-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: David Mulder <dmulder@suse.com> Reviewed-by: Andreas Schneider <asn@samba.org>
2019-07-05s4 heimdal_build: Fix static heimdal builds with replacement closefrom()Karl Lenz1-4/+6
If Samba was configured with "--nonshared-binary=winexe" to build winexe as a static binary, and the replacement closefrom() function was used (which is default on most GNU/Linux systems without the libbsd development package installed), then winexe would fail to link with the error message shown below. [2631/3059] Linking bin/default/examples/winexe/winexe source4/heimdal/lib/roken/closefrom.c.1.o: In function `rep_closefrom': closefrom.c:(.text+0x0): multiple definition of `rep_closefrom' lib/replace/closefrom.c.2.o:closefrom.c:(.text+0x292): first defined here collect2: error: ld returned 1 exit status The real problem here was not with the winexe build itself - that was merely the application that I was attempting to build statically when I encountered it. As Andrew Bartlett very helpfully pointed out to me, this regression was introduced when "lib/replace/closefrom.c" was added in commit 55529d0f and, more to the point, when the heimdal build started using it in commit 3a7ebd0e. From that point on, any time that Samba's embedded copy of heimdal was statically linked into an application, it would fail to link because heimdal's own rep_closefrom() function in its "roken" library would conflict with the rep_closefrom() function in the "replace" library used elsewhere in Samba - a library which the "roken" library itself depends on. To further compound the problem, heimdal's own "roken" library is also compiled for the host (a necessary distinction for cross-compiled builds) and linked into a small number of utility applications used during the heimdal build. However, they can't link directly against the "replace" library, unlike the main "roken" library build which carries that dependency, because the "replace" library is _not_ built for the host. I solved this problem by eliminating heimdal's version of rep_closefrom() and making it use the one from "lib/replace" everywhere. That wasn't a problem for the main heimdal library that is built for the target because it was already linking in "lib/replace" (that's what caused this problem in the first place!), but to solve the aforementioned issue with "lib/replace" not being built for the host, I added "lib/replace/closefrom.c" to the list of "source4/heimdal/lib/roken" sources to be built for the host to satisfy heimdal's host utilities. Everyone wins, I think. Signed-off-by: Karl Lenz <xorangekiller@gmail.com> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Gary Lockyer <gary@catalyst.net.nz>
2019-05-06s4 heimdal_build: disable leak checks for asn1 compilerGary Lockyer1-1/+10
Disable Address Sanitizer leak checking for the heimdal asn1 compiler, this allows a samba build with Address Sanitizer enabled. Signed-off-by: Gary Lockyer <gary@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2019-04-25s4:heimdal: Disable format truncation warningsAndreas Schneider1-0/+5
We build that code and do not treat warnings as errors anyway, so just disable format truncation. Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org>
2019-01-29wscript: separate embedded_heimdal from system_heimdalStefan Metzmacher1-94/+0
This allows to default (embedded_heimdal) to build even with a broken krb5-config file from Heimdal. In the system_heimdal case we parse the content of krb5-config instead of just executing it. This fails on FreeBSD 12 as krb5-config contains iso-8859-1 characters, which can't be parsed as unicode python buffers when using python3. Fixing the system_heimdal case is a task for another day, I guess it will only work once we imported a current heimdal version and actually tested the system_heimdal case. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
2018-11-20s4:heimdal_build: make use of libreplace getprogname() replacementStefan Metzmacher2-8/+5
Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2018-09-21heimdal-build: Avoid using python str.format()Amitay Isaacs1-3/+2
In python 2.6, the format fields need to be numbered explicitly. This causes the build to fail on RHEL6/Centos6 with following error: File "/home/amitay/samba.git/source4/heimdal_build/wscript_build", line 87, in HEIMDAL_ASN1 os.path.join(bld.path.abspath(), option_file))) ValueError: zero length field name in format To use str.format() in HEIMDAL_ASN1(), "--option-file='{}'" needs to be "--options-file='{0}'" Or this fix which avoids str.format() completely. Signed-off-by: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Martin Schwenke <martin@meltin.net> Autobuild-User(master): Martin Schwenke <martins@samba.org> Autobuild-Date(master): Fri Sep 21 03:06:44 CEST 2018 on sn-devel-144
2018-09-05waf heimdal: use absolute path to compile_etAlexander Bokovoy1-1/+1
Signed-off-by: Alexander Bokovoy <ab@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2018-09-05buildtools/wafsamba: compile asn1 files by adding missing code from compat15Thomas Nagy1-1/+1
Signed-off-by: Thomas Nagy <tnagy@waf.io> Reviewed-by: Alexander Bokovoy <ab@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2018-09-05heimdal wscript changesAlexander Bokovoy1-3/+7
Signed-off-by: Alexander Bokovoy <ab@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2018-09-05source4/heimdal_build/wscript_configure: update to handle waf 2.0.4Alexander Bokovoy1-1/+2
Signed-off-by: Alexander Bokovoy <ab@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2018-09-05source4/heimdal_build/wscript_build: update to handle waf 2.0.4Alexander Bokovoy1-13/+16
Signed-off-by: Alexander Bokovoy <ab@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2018-09-05build:wafsamba: Build on waf 1.9Thomas Nagy2-7/+7
Signed-off-by: Thomas Nagy <tnagy@waf.io> Reviewed-by: Alexander Bokovoy <ab@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2018-07-10heimdal: Fix build with system provided heimdal libraryChristof Schmitt2-4/+11
Trying to compile with a system provided heimdal library results in this compile error: [ 876/3043] Compiling source4/auth/kerberos/srv_keytab.c In file included from /usr/include/heimdal/krb5.h:949:0, from ../lib/replace/system/kerberos.h:33, from ../source4/auth/kerberos/srv_keytab.c:31: /usr/include/heimdal/krb5-protos.h:3894:1: error: unknown type name ‘HEIMDAL_WARN_UNUSED_RESULT_ATTRIBUTE’; did you mean ‘_WARN_UNUSED_RESULT_’? HEIMDAL_WARN_UNUSED_RESULT_ATTRIBUTE KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ _WARN_UNUSED_RESULT_ /usr/include/heimdal/krb5-protos.h:3895:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘krb5_generate_random’ krb5_generate_random ( The problem is that Samba provides a minimal krb5-types.h file for the internal build that gets used during the build with the system provided heimdal library. As the minimal file does not provide all definitions, the build fails. Fix this by having the krb-types.h file simply include the include file from the system library, if the build is done using the system provided heimdal library. Signed-off-by: Christof Schmitt <cs@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Autobuild-User(master): Andrew Bartlett <abartlet@samba.org> Autobuild-Date(master): Tue Jul 10 07:30:26 CEST 2018 on sn-devel-144
2018-02-21heimdal_build: use closefrom from libreplaceBjoern Jacke1-0/+5
this silences a lot of "... has been redefined" compiler warnings on platforms that don't have closefrom Signed-off-by: Bjoern Jacke <bjacke@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
2017-10-11s4:heimdal_build: there's no need to define HAVE_KRB5_ADDRESSES twiceStefan Metzmacher1-1/+0
Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Björn Jacke <bjacke@samba.org> Autobuild-User(master): Stefan Metzmacher <metze@samba.org> Autobuild-Date(master): Wed Oct 11 12:33:42 CEST 2017 on sn-devel-144
2017-06-13strerror_r: provide XSI-compliant strerror_rGary Lockyer3-8/+3
Provide a XSI-compliant strerror_r on GNU based systems. The default GNU strerror_r is not XSI-compliant, this patch wraps the GNU-specific call in an XSI-compliant wrapper. This reverts 18ed32ce0821d11c0c06d82c07ba1c27b0c2b886 which tried to make Heimdal use roken, rather than libreplace for strerror_r. Signed-off-by: Gary Lockyer <gary@catalyst.net.nz> Signed-off-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2017-01-11wscript: remove executable bits for all wscript* filesStefan Metzmacher1-0/+0
These files should not be executable. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org> Autobuild-User(master): Volker Lendecke <vl@samba.org> Autobuild-Date(master): Wed Jan 11 20:21:01 CET 2017 on sn-devel-144
2016-07-25Wrap krb5_cc_copy_creds and krb5_cc_copy_cacheAlexander Bokovoy1-0/+1
Heimdal and MIT Kerberos have different API to copy credentials from a ccache. Wrap it via lib/krb5_wrap/. Signed-off-by: Alexander Bokovoy <ab@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org> Autobuild-User(master): Günther Deschner <gd@samba.org> Autobuild-Date(master): Mon Jul 25 21:27:58 CEST 2016 on sn-devel-144
2015-10-31s4:heimdal_build: also use check_system_heimdal_lib() for "com_err"Stefan Metzmacher1-3/+2
Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Jelmer Vernooij <jelmer@samba.org>
2015-10-31s4:heimdal_build: handle CHECK_BUNDLED_SYSTEM returning False in ↵Stefan Metzmacher1-2/+3
check_system_heimdal_lib() Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Jelmer Vernooij <jelmer@samba.org>
2015-10-13build:wafsamba: Enable feature-compatible declaration for Waf 1.8Thomas Nagy1-5/+5
In Waf 1.8 the declaration is features='c', not features='cc'. These changes prepare the replacement of Waf 1.5 by Waf 1.8 for Samba. Signed-off-by: Thomas Nagy <tnagy@waf.io> Reviewed-by: David Disseldorp <ddiss@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2015-10-02kerberos: make sure we only use prompter type when available.Günther Deschner1-0/+1
We also verified that we cannot simply remove the prompter as several older versions of Heimdal would crash. Guenther Signed-off-by: Günther Deschner <gd@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org> Autobuild-User(master): Günther Deschner <gd@samba.org> Autobuild-Date(master): Fri Oct 2 07:29:43 CEST 2015 on sn-devel-104
2015-06-23s4:heimdal_build: define HAVE_GSS_KRB5_CRED_NO_CI_FLAGS_XStefan Metzmacher1-0/+1
Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Günther Deschner <gd@samba.org>
2015-03-27krb5_wrap: add smb_krb5_principal_set_type().Günther Deschner1-0/+1
Guenther Signed-off-by: Günther Deschner <gd@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
2015-03-27s4:heimdal_build: remove allow_warnings=True from HEIMDAL_ASN1()Stefan Metzmacher1-1/+1
Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org>
2015-03-16Transition to waf 1.8: replaced on_results by update_outputsThomas Nagy1-7/+7
Reviewed-By: Jelmer Vernooij <jelmer@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2014-12-18s4:heimdal_build: remove unused openpty checkStefan Metzmacher1-1/+0
commit 638a8edd7ce708cf550c054ac16dade795b6448b removed HEIMDAL_BINARY('rkpty', 'lib/roken/rkpty.c',...) (the only heimdal user of openpty(). Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org>
2014-09-01s4-heimdal: do not build rkpty anymore.Günther Deschner1-5/+0
It is fully replaced with texpect now. Guenther Pair-Programmed-With: Andreas Schneider <asn@samba.org> Signed-off-by: Guenther Deschner <gd@samba.org> Reviewed-by: Andrew Bartlet <abartlet@samba.org>
2014-08-08lib/krb5_wrap: provide krb5_warnx() replacement.Günther Deschner1-0/+1
Guenther Signed-off-by: Günther Deschner <gd@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Autobuild-User(master): Andrew Bartlett <abartlet@samba.org> Autobuild-Date(master): Fri Aug 8 08:30:50 CEST 2014 on sn-devel-104
2014-08-08lib/krb5_wrap: add smb_krb5_principal_get_type().Günther Deschner1-0/+1
Guenther Signed-off-by: Günther Deschner <gd@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2014-08-08lib/krb5_wrap: add smb_krb5_principal_set_realm().Günther Deschner1-0/+1
Guenther Signed-off-by: Günther Deschner <gd@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2014-08-08lib/krb5_wrap: add krb5_copy_data_contents.Günther Deschner1-0/+1
This reuses krb5_data_copy() if available, choosed not to call it krb5_data_copy as that is easily mixed up with krb5_copy_data (which allocs the krb5_data pointer). Thanks Simo for proposing the better name. Guenther Signed-off-by: Günther Deschner <gd@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2014-08-08lib/krb5_wrap: add smb_krb5_get_allowed_weak_crypto().Günther Deschner1-0/+1
Guenther Signed-off-by: Günther Deschner <gd@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Pair-Programmed-With: Andreas Schneider <asn@samba.org>
2014-04-17Remove special nss_wrapper codeAndreas Schneider1-3/+3
Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
2014-04-02s4:heimdal_build: explicitly pass allow_warnings=True to CURRENT_CFLAGS()Stefan Metzmacher1-2/+2
Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2014-02-20heimdal_build: only enable libintl functions if everything was foundChristian Ambach1-1/+2
do not rely on intl.h being available but also on the functions being usable This should fix the build on HP-UX Bug: https://bugzilla.samba.org/show_bug.cgi?id=9911 Signed-off-by: Christian Ambach <ambi@samba.org> Change-Id: I5dd88d2d5216b778624778455cca99b32d0be58f Reviewed-by: Andrew Bartlett <abartlet@samba.org> Autobuild-User(master): Andrew Bartlett <abartlet@samba.org> Autobuild-Date(master): Thu Feb 20 01:28:24 CET 2014 on sn-devel-104
2013-11-28Remove no longer used et_deps.pl.Jelmer Vernooij1-17/+0
Signed-off-by: Jelmer Vernooij <jelmer@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2013-11-28Remove no longer used asn1_deps.pl.Jelmer Vernooij1-103/+0
Signed-off-by: Jelmer Vernooij <jelmer@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2013-08-12waf: replace dependency to libintl with samba_intlChristian Ambach1-2/+2
Signed-off-by: Christian Ambach <ambi@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Autobuild-User(master): Christian Ambach <ambi@samba.org> Autobuild-Date(master): Mon Aug 12 00:46:34 CEST 2013 on sn-devel-104
2013-08-09waf: consolidate libintl related checksChristian Ambach1-3/+1
consolidate the dealing with functions from libintl and the handling of checking if libiconv is required or not to a common place in lib/replace also add a new samba_intl subsystem that has dependencies on the appropriate set of libraries (libintl, libintl+libiconv or none) that can be used as a general dependency by code that depends on the internationalization libraries Signed-off-by: Christian Ambach <ambi@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2013-06-25heimdal_build: Add missing dep on samba4kgetcredAndrew Bartlett1-1/+1
This started to fail on current Debian Sid with system Heimdal after a binutils update. Andrew Bartlett Signed-off-by: Andrew Bartlett <abartlet@samba.org> Reviewed-By: Jelmer Vernooij <jelmer@samba.org> Autobuild-User(master): Andrew Bartlett <abartlet@samba.org> Autobuild-Date(master): Tue Jun 25 02:30:59 CEST 2013 on sn-devel-104
2013-05-27build: Remove binaries and libraries build groupsAndrew Bartlett1-2/+2
Build groups are used in Samba to ensure that even if the dependency chain for a target is not perfect, that it builds reliably. This matters most in the early build stages, where we are building the asn1 compiler and autogenerating files. Once we get to the main stage, dependencies between C files, libraries and binaries are much clearer, because the C compiler and linker takes these as inputs anyway. Groups were added to our waf build for stability during early development, as dependency information was first imported from the previous autoconf/perl based build system. I don't think we need this distinction in the main build of C files into .o, and when linking these into binaries, because the invocation of these tools is very well defined, and we will find any missing inputs very quickly. As such, I've removed the libraries and binaries targets, consolidating them with 'main' By making this change, a build of smbtorture only on a clean tree drops from 3778 to 2489 targets, and much of the expensive linker stage is skipped. The time for a null build of smbtorture only also drops from 4.673s to as low as 2.499s on my laptop. Andrew Bartlett Reviewed-by: Jelmer Vernooij <jelmer@samba.org>
2013-01-19heimdal_build: Try again to sort out the strerror_r messAndrew Bartlett3-8/+8
Reviewed-by: Stefan Metzmacher <metze@samba.org>
2012-11-06heimdal_build: Fix finding of system heimdal.Jelmer Vernooij1-26/+29
When checking for Heimdal headers, make sure HAVE_CONFIG_H is not defined, as config.h will not be available. Reviewed-by: Andrew Bartlett <abartlet@samba.org> Signed-off-by: Jelmer Vernooij <jelmer@samba.org> Autobuild-User(master): Jelmer Vernooij <jelmer@samba.org> Autobuild-Date(master): Tue Nov 6 16:27:03 CET 2012 on sn-devel-104
2012-11-06heimdal_build: HEIMDAL_LIBRARY(): Remove unused cflags argument.Jelmer Vernooij1-2/+1
2012-06-01waf: check for krb5_create_checksum and krb5_creds.flags for some Heimdal ↵Alexander Bokovoy1-0/+1
versions Signed-off-by: Andreas Schneider <asn@samba.org> Autobuild-User: Andreas Schneider <asn@cryptomilk.org> Autobuild-Date: Fri Jun 1 11:23:21 CEST 2012 on sn-devel-104
2012-05-30lib/krb5_wrap: Move krb5_princ_size helper to source4 as it is only used thereAndrew Bartlett1-1/+1
This is also where the related krb5_princ_component is declared. Also fix the configure check to use the correct name This helps the autoconf build on Heimdal. Andrew Bartlett
2012-05-23Introduce system MIT krb5 build with --with-system-mitkrb5 option.Alexander Bokovoy1-1/+1
System MIT krb5 build also enabled by specifying --without-ad-dc When --with-system-mitkrb5 (or --withou-ad-dc) option is passed to top level configure in WAF build we are trying to detect and use system-wide MIT krb5 libraries. As result, Samba 4 DC functionality will be disabled due to the fact that it is currently impossible to implement embedded KDC server with MIT krb5. Thus, --with-system-mitkrb5/--without-ad-dc build will only produce * Samba 4 client libraries and their Python bindings * Samba 3 server (smbd, nmbd, winbindd from source3/) * Samba 3 client libraries In addition, Samba 4 DC server-specific tests will not be compiled into smbtorture. This in particular affects spoolss_win, spoolss_notify, and remote_pac rpc tests.
2012-05-23gensec_gssapi: Make it possible to build with MIT krb5Simo Sorce1-1/+1
We need to ifdef out some minor things here because there is no available API to set these options in MIT. The realm and canonicalize options should be not interesting in the client case. Same for the send_to_kdc hacks. Also the OLD DES3 enctype is not at all interesting. I am not aware that Windows will ever use DES3 and no modern implementation relies on that enctype anymore as it has been fully deprecated long ago, so we can simply ignore it.