mirror of
https://git.openafs.org/openafs.git
synced 2025-01-31 05:27:44 +00:00
e545f81f04
Heimdal's hcrypto declares various DES functions as deprecated. We use these functions in various files, and so we inhibit the -Wdeprecated-declarations warning so we can build with --enable-checking. Heimdal declares these functions as deprecated using the HC_DEPRECATED (or HC_DEPRECATED_CRYPTO) macro, which conditionally expands to __attribute__((deprecated)) depending on the platform. If we define HC_DEPRECATED ourselves to nothing before including the relevant header file, those functions will effectively not be declared deprecated. Some of our source files do this to avoid the -Wdeprecated-declarations warning. Some of our code does one of these to avoid the warning, and some does both. We should pick one or the other, and be consistent about it. In this commit, get rid of defining HC_DEPRECATED (and HC_DEPRECATED_CRYPTO) ourselves, and just inhibit the relevant warning the same way we do for all other warnings. All instances of this are also currently missing from the "Inhibited warnings" section in CODING. Add all instances to that list. Change-Id: I4d7ece94be22457ceefbe52b6ec286e67423e8cb Reviewed-on: https://gerrit.openafs.org/15776 Tested-by: BuildBot <buildbot@rampaginggeek.com> Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
74 lines
2.5 KiB
C
74 lines
2.5 KiB
C
/*
|
|
* Copyright (c) 2012 Your File System Inc. All rights reserved.
|
|
*
|
|
* Redistribution and use in source and binary forms, with or without
|
|
* modification, are permitted provided that the following conditions
|
|
* are met:
|
|
* 1. Redistributions of source code must retain the above copyright
|
|
* notice, this list of conditions and the following disclaimer.
|
|
* 2. Redistributions in binary form must reproduce the above copyright
|
|
* notice, this list of conditions and the following disclaimer in the
|
|
* documentation and/or other materials provided with the distribution.
|
|
*
|
|
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR `AS IS'' AND ANY EXPRESS OR
|
|
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
|
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
|
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
*/
|
|
#include <afsconfig.h>
|
|
#include <afs/param.h>
|
|
|
|
#include <roken.h>
|
|
|
|
#ifdef IGNORE_SOME_GCC_WARNINGS
|
|
# pragma GCC diagnostic warning "-Wdeprecated-declarations"
|
|
#endif
|
|
|
|
#include <hcrypto/des.h>
|
|
|
|
#include <rx/rxkad.h>
|
|
#include <afs/cellconfig.h>
|
|
|
|
struct rx_securityClass *
|
|
afstest_FakeRxkadClass(struct afsconf_dir *dir,
|
|
char *name, char *instance, char *realm,
|
|
afs_uint32 startTime, afs_uint32 endTime)
|
|
{
|
|
int code;
|
|
char buffer[256];
|
|
struct ktc_encryptionKey key, session;
|
|
afs_int32 kvno;
|
|
afs_int32 ticketLen;
|
|
struct rx_securityClass *class = NULL;
|
|
|
|
code = afsconf_GetLatestKey(dir, &kvno, &key);
|
|
if (code)
|
|
goto out;
|
|
|
|
DES_init_random_number_generator((DES_cblock *) &key);
|
|
code = DES_new_random_key((DES_cblock *) &session);
|
|
if (code)
|
|
goto out;
|
|
|
|
ticketLen = sizeof(buffer);
|
|
memset(buffer, 0, sizeof(buffer));
|
|
startTime = time(NULL);
|
|
endTime = startTime + 60 * 60;
|
|
|
|
code = tkt_MakeTicket(buffer, &ticketLen, &key, name, instance, realm,
|
|
startTime, endTime, &session, 0, "afs", "");
|
|
if (code)
|
|
goto out;
|
|
|
|
class = rxkad_NewClientSecurityObject(rxkad_clear, &session, kvno,
|
|
ticketLen, buffer);
|
|
out:
|
|
return class;
|
|
}
|