1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-25 14:50:24 +03:00

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)
This commit is contained in:
Stefan Metzmacher 2008-08-26 19:35:52 +02:00
parent 455f5c043d
commit 243321b4bb
465 changed files with 2788 additions and 1994 deletions

View File

@ -1,4 +1,4 @@
$Id: README 8839 2000-07-27 02:33:54Z assar $
$Id$
Heimdal is a Kerberos 5 implementation.
@ -10,7 +10,7 @@ Bug reports and bugs are appreciated, see more under Bug reports in
the manual on how we prefer them.
For more information see the web-page at
<http://www.pdc.kth.se/heimdal/> or the mailing lists:
<http://www.h5l.org/> or the mailing lists:
heimdal-announce@sics.se low-volume announcement
heimdal-discuss@sics.se high-volume discussion

View File

@ -1,4 +1,4 @@
dnl $Id: check-var.m4 15422 2005-06-16 18:59:29Z lha $
dnl $Id$
dnl
dnl rk_CHECK_VAR(variable, includes)
AC_DEFUN([rk_CHECK_VAR], [

View File

@ -1,4 +1,4 @@
dnl $Id: find-func-no-libs.m4 13338 2004-02-12 14:21:14Z lha $
dnl $Id$
dnl
dnl
dnl Look for function in any of the specified libraries

View File

@ -1,4 +1,4 @@
dnl $Id: find-func-no-libs2.m4 14166 2004-08-26 12:35:42Z joda $
dnl $Id$
dnl
dnl
dnl Look for function in any of the specified libraries

View File

@ -1,4 +1,4 @@
dnl $Id: find-func.m4 13338 2004-02-12 14:21:14Z lha $
dnl $Id$
dnl
dnl AC_FIND_FUNC(func, libraries, includes, arguments)
AC_DEFUN([AC_FIND_FUNC], [

View File

@ -1,5 +1,5 @@
# Make prototypes from .c files
# $Id: make-proto.pl 23023 2008-04-17 10:01:46Z lha $
# $Id$
##use Getopt::Std;
require 'getopts.pl';

View File

@ -1,6 +1,6 @@
dnl stuff used by DNS resolv code in roken
dnl
dnl $Id: resolv.m4 16009 2005-09-02 10:17:38Z lha $
dnl $Id$
dnl
AC_DEFUN([rk_RESOLV],[

View File

@ -33,7 +33,7 @@
#include "kdc_locl.h"
RCSID("$Id: 524.c 18270 2006-10-06 17:06:30Z lha $");
RCSID("$Id$");
#include <krb5-v4compat.h>

View File

@ -36,7 +36,7 @@
#include <getarg.h>
#include <parse_bytes.h>
RCSID("$Id: default_config.c 23316 2008-06-23 04:32:32Z lha $");
RCSID("$Id$");
krb5_error_code
krb5_kdc_get_config(krb5_context context, krb5_kdc_configuration **config)

View File

@ -34,7 +34,7 @@
#include "kdc_locl.h"
#include <hex.h>
RCSID("$Id: digest.c 23316 2008-06-23 04:32:32Z lha $");
RCSID("$Id$");
#define MS_CHAP_V2 0x20
#define CHAP_MD5 0x10

View File

@ -32,7 +32,7 @@
*/
/*
* $Id: headers.h 19658 2007-01-04 00:15:34Z lha $
* $Id$
*/
#ifndef __HEADERS_H__

View File

@ -33,7 +33,7 @@
#include "kdc_locl.h"
RCSID("$Id: kaserver.c 23110 2008-04-27 18:51:17Z lha $");
RCSID("$Id$");
#include <krb5-v4compat.h>
#include <rx.h>

View File

@ -35,7 +35,7 @@
*/
/*
* $Id: kdc.h 21287 2007-06-25 14:09:03Z lha $
* $Id$
*/
#ifndef __KDC_H__

View File

@ -32,7 +32,7 @@
*/
/*
* $Id: kdc_locl.h 22247 2007-12-08 23:49:41Z lha $
* $Id$
*/
#ifndef __KDC_LOCL_H__

View File

@ -35,7 +35,7 @@
#include <krb5-v4compat.h>
RCSID("$Id: kerberos4.c 21577 2007-07-16 08:14:06Z lha $");
RCSID("$Id$");
#ifndef swap32
static uint32_t
@ -134,7 +134,7 @@ _kdc_do_version4(krb5_context context,
struct sockaddr_in *addr)
{
krb5_storage *sp;
krb5_error_code ret;
krb5_error_code ret = EINVAL;
hdb_entry_ex *client = NULL, *server = NULL;
Key *ckey, *skey;
int8_t pvno;
@ -162,6 +162,7 @@ _kdc_do_version4(krb5_context context,
kdc_log(context, config, 0,
"Protocol version mismatch (krb4) (%d)", pvno);
make_err_reply(context, reply, KRB4ET_KDC_PKT_VER, "protocol mismatch");
ret = KRB4ET_KDC_PKT_VER;
goto out;
}
RCHECK(krb5_ret_int8(sp, &msg_type), out);
@ -258,20 +259,6 @@ _kdc_do_version4(krb5_context context,
goto out1;
}
#if 0
/* this is not necessary with the new code in libkrb */
/* find a properly salted key */
while(ckey->salt == NULL || ckey->salt->salt.length != 0)
ret = hdb_next_keytype2key(context, &client->entry, KEYTYPE_DES, &ckey);
if(ret){
kdc_log(context, config, 0, "No version-4 salted key in database -- %s.%s@%s",
name, inst, realm);
make_err_reply(context, reply, KRB4ET_KDC_NULL_KEY,
"No version-4 salted key in database");
goto out1;
}
#endif
ret = _kdc_get_des_key(context, server, TRUE, FALSE, &skey);
if(ret){
kdc_log(context, config, 0, "no suitable DES key for server");
@ -624,12 +611,14 @@ _kdc_do_version4(krb5_context context,
break;
}
case AUTH_MSG_ERR_REPLY:
ret = EINVAL;
break;
default:
kdc_log(context, config, 0, "Unknown message type (krb4): %d from %s",
msg_type, from);
make_err_reply(context, reply, KFAILURE, "Unknown message type");
ret = EINVAL;
}
out:
if(name)
@ -647,7 +636,7 @@ _kdc_do_version4(krb5_context context,
if(server)
_kdc_free_ent(context, server);
krb5_storage_free(sp);
return 0;
return ret;
}
krb5_error_code

View File

@ -33,7 +33,7 @@
#include "kdc_locl.h"
RCSID("$Id: kerberos5.c 23316 2008-06-23 04:32:32Z lha $");
RCSID("$Id$");
#define MAX_TIME ((time_t)((1U << 31) - 1))
@ -84,6 +84,24 @@ _kdc_find_padata(const KDC_REQ *req, int *start, int type)
return NULL;
}
/*
* This is a hack to allow predefined weak services, like afs to
* still use weak types
*/
krb5_boolean
_kdc_is_weak_expection(krb5_principal principal, krb5_enctype etype)
{
if (principal->name.name_string.len > 0 &&
strcmp(principal->name.name_string.val[0], "afs") == 0 &&
(etype == ETYPE_DES_CBC_CRC
|| etype == ETYPE_DES_CBC_MD4
|| etype == ETYPE_DES_CBC_MD5))
return TRUE;
return FALSE;
}
/*
* Detect if `key' is the using the the precomputed `default_salt'.
*/
@ -120,7 +138,8 @@ _kdc_find_etype(krb5_context context, const hdb_entry_ex *princ,
for(i = 0; ret != 0 && i < len ; i++) {
Key *key = NULL;
if (krb5_enctype_valid(context, etypes[i]) != 0)
if (krb5_enctype_valid(context, etypes[i]) != 0 &&
!_kdc_is_weak_expection(princ->entry.principal, etypes[i]))
continue;
while (hdb_next_enctype2key(context, &princ->entry, etypes[i], &key) == 0) {

View File

@ -33,7 +33,7 @@
#include "kdc_locl.h"
RCSID("$Id: krb5tgs.c 23316 2008-06-23 04:32:32Z lha $");
RCSID("$Id$");
/*
* return the realm of a krbtgt-ticket or NULL
@ -662,6 +662,7 @@ tgs_make_reply(krb5_context context,
krb5_kvno kvno,
AuthorizationData *auth_data,
hdb_entry_ex *server,
krb5_principal server_principal,
const char *server_name,
hdb_entry_ex *client,
krb5_principal client_principal,
@ -678,6 +679,7 @@ tgs_make_reply(krb5_context context,
EncTicketPart et;
KDCOptions f = b->kdc_options;
krb5_error_code ret;
int is_weak = 0;
memset(&rep, 0, sizeof(rep));
memset(&et, 0, sizeof(et));
@ -729,9 +731,9 @@ tgs_make_reply(krb5_context context,
if(ret)
goto out;
copy_Realm(krb5_princ_realm(context, server->entry.principal),
copy_Realm(krb5_princ_realm(context, server_principal),
&rep.ticket.realm);
_krb5_principal2principalname(&rep.ticket.sname, server->entry.principal);
_krb5_principal2principalname(&rep.ticket.sname, server_principal);
copy_Realm(&tgt_name->realm, &rep.crealm);
/*
if (f.request_anonymous)
@ -885,6 +887,14 @@ tgs_make_reply(krb5_context context,
goto out;
}
if (krb5_enctype_valid(context, et.key.keytype) != 0
&& _kdc_is_weak_expection(server->entry.principal, et.key.keytype))
{
krb5_enctype_enable(context, et.key.keytype);
is_weak = 1;
}
/* It is somewhat unclear where the etype in the following
encryption should come from. What we have is a session
key in the passed tgt, and a list of preferred etypes
@ -899,6 +909,9 @@ tgs_make_reply(krb5_context context,
&rep, &et, &ek, et.key.keytype,
kvno,
serverkey, 0, &tgt->key, e_text, reply);
if (is_weak)
krb5_enctype_disable(context, et.key.keytype);
out:
free_TGS_REP(&rep);
free_TransitedEncoding(&et.transited);
@ -1462,7 +1475,8 @@ tgs_build_reply(krb5_context context,
*/
server_lookup:
ret = _kdc_db_fetch(context, config, sp, HDB_F_GET_SERVER, NULL, &server);
ret = _kdc_db_fetch(context, config, sp, HDB_F_GET_SERVER | HDB_F_CANON,
NULL, &server);
if(ret){
const char *new_rlm;
@ -1521,7 +1535,8 @@ server_lookup:
goto out;
}
ret = _kdc_db_fetch(context, config, cp, HDB_F_GET_CLIENT, NULL, &client);
ret = _kdc_db_fetch(context, config, cp, HDB_F_GET_CLIENT | HDB_F_CANON,
NULL, &client);
if(ret) {
const char *krbtgt_realm;
@ -1927,6 +1942,7 @@ server_lookup:
kvno,
*auth_data,
server,
sp,
spn,
client,
cp,

View File

@ -36,7 +36,7 @@
#include <rfc2459_asn1.h>
#include <hx509.h>
RCSID("$Id: kx509.c 23316 2008-06-23 04:32:32Z lha $");
RCSID("$Id$");
/*
*

View File

@ -32,7 +32,7 @@
*/
#include "kdc_locl.h"
RCSID("$Id: log.c 22254 2007-12-09 06:01:05Z lha $");
RCSID("$Id$");
void
kdc_openlog(krb5_context context,

View File

@ -33,7 +33,7 @@
#include "kdc_locl.h"
RCSID("$Id: misc.c 23316 2008-06-23 04:32:32Z lha $");
RCSID("$Id$");
struct timeval _kdc_now;

2
source4/heimdal/kdc/pkinit.c Executable file → Normal file
View File

@ -33,7 +33,7 @@
#include "kdc_locl.h"
RCSID("$Id: pkinit.c 23316 2008-06-23 04:32:32Z lha $");
RCSID("$Id$");
#ifdef PKINIT

View File

@ -34,7 +34,7 @@
#include "kdc_locl.h"
RCSID("$Id: process.c 23316 2008-06-23 04:32:32Z lha $");
RCSID("$Id$");
/*
*
@ -100,9 +100,9 @@ krb5_kdc_process_request(krb5_context context,
return ret;
} else if(_kdc_maybe_version4(buf, len)){
*prependlength = FALSE; /* elbitapmoc sdrawkcab XXX */
_kdc_do_version4(context, config, buf, len, reply, from,
(struct sockaddr_in*)addr);
return 0;
ret = _kdc_do_version4(context, config, buf, len, reply, from,
(struct sockaddr_in*)addr);
return ret;
} else if (config->enable_kaserver) {
ret = _kdc_do_kaserver(context, config, buf, len, reply, from,
(struct sockaddr_in*)addr);

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*/
/* $Id: rx.h 17447 2006-05-05 10:52:01Z lha $ */
/* $Id$ */
#ifndef __RX_H__
#define __RX_H__

View File

@ -33,7 +33,7 @@
#include "kdc_locl.h"
RCSID("$Id: windc.c 23316 2008-06-23 04:32:32Z lha $");
RCSID("$Id$");
static krb5plugin_windc_ftable *windcft;
static void *windcctx;

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*/
/* $Id: windc_plugin.h 22693 2008-03-19 08:57:49Z lha $ */
/* $Id$ */
#ifndef HEIMDAL_KRB5_PAC_PLUGIN_H
#define HEIMDAL_KRB5_PAC_PLUGIN_H 1

View File

@ -32,7 +32,7 @@
*/
#include "kuser_locl.h"
RCSID("$Id: kinit.c 23418 2008-07-26 18:36:48Z lha $");
RCSID("$Id$");
#include "krb5-v4compat.h"
@ -67,6 +67,7 @@ char *pk_x509_anchors = NULL;
int pk_use_enckey = 0;
static int canonicalize_flag = 0;
static int ok_as_delegate_flag = 0;
static int use_referrals_flag = 0;
static int windows_flag = 0;
static char *ntlm_domain;
@ -166,6 +167,9 @@ static struct getargs args[] = {
{ "ok-as-delegate", 0, arg_flag, &ok_as_delegate_flag,
"honor ok-as-delegate on tickets" },
{ "use-referrals", 0, arg_flag, &use_referrals_flag,
"only use referrals, no dns canalisation" },
{ "windows", 0, arg_flag, &windows_flag,
"get windows behavior" },
@ -597,11 +601,17 @@ get_new_tickets(krb5_context context,
if (ntlm_domain && ntlmkey.data)
store_ntlmkey(context, ccache, ntlm_domain, &ntlmkey);
if (ok_as_delegate_flag || windows_flag) {
if (ok_as_delegate_flag || windows_flag || use_referrals_flag) {
unsigned char d = 0;
krb5_data data;
if (ok_as_delegate_flag || windows_flag)
d |= 1;
if (use_referrals_flag || windows_flag)
d |= 2;
data.length = 1;
data.data = "\x01";
data.data = &d;
krb5_cc_set_config(context, ccache, NULL, "realm-config", &data);
}

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*/
/* $Id: kuser_locl.h 20458 2007-04-19 20:41:27Z lha $ */
/* $Id$ */
#ifndef __KUSER_LOCL_H__
#define __KUSER_LOCL_H__

View File

@ -1,5 +1,5 @@
-- From RFC 3369 --
-- $Id: CMS.asn1 18054 2006-09-07 12:20:42Z lha $ --
-- $Id$ --
CMS DEFINITIONS ::= BEGIN

View File

@ -1,4 +1,4 @@
/* $Id: asn1-common.h 22429 2008-01-13 10:25:50Z lha $ */
/* $Id$ */
#include <stddef.h>
#include <time.h>

View File

@ -3,7 +3,7 @@
#
# This might look like a com_err file, but is not
#
id "$Id: asn1_err.et 21394 2007-07-02 10:14:43Z lha $"
id "$Id$"
error_table asn1
prefix ASN1

View File

@ -40,7 +40,7 @@
#include <hex.h>
#include <err.h>
RCSID("$Id: asn1_gen.c 16666 2006-01-30 15:06:03Z lha $");
RCSID("$Id$");
static int
doit(const char *fn)

View File

@ -1,5 +1,5 @@
/* $NetBSD: queue.h,v 1.38 2004/04/18 14:12:05 lukem Exp $ */
/* $Id: asn1_queue.h 15617 2005-07-12 06:27:42Z lha $ */
/* $Id$ */
/*
* Copyright (c) 1991, 1993

View File

@ -1,4 +1,4 @@
-- $Id: canthandle.asn1 22071 2007-11-14 20:04:50Z lha $ --
-- $Id$ --
CANTHANDLE DEFINITIONS ::= BEGIN

View File

@ -38,7 +38,7 @@
#include <getarg.h>
#include <err.h>
RCSID("$Id: der.c 22429 2008-01-13 10:25:50Z lha $");
RCSID("$Id$");
static const char *class_names[] = {

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*/
/* $Id: der.h 23183 2008-05-22 09:56:51Z lha $ */
/* $Id$ */
#ifndef __DER_H__
#define __DER_H__

0
source4/heimdal/lib/asn1/der_cmp.c Executable file → Normal file
View File

View File

@ -33,7 +33,7 @@
#include "der_locl.h"
RCSID("$Id: der_copy.c 19539 2006-12-28 17:15:05Z lha $");
RCSID("$Id$");
int
der_copy_general_string (const heim_general_string *from,

View File

@ -34,7 +34,7 @@
#include "der_locl.h"
#include <hex.h>
RCSID("$Id: der_format.c 20861 2007-06-03 20:18:29Z lha $");
RCSID("$Id$");
int
der_parse_hex_heim_integer (const char *p, heim_integer *data)

View File

@ -33,7 +33,7 @@
#include "der_locl.h"
RCSID("$Id: der_free.c 23182 2008-05-22 02:59:04Z lha $");
RCSID("$Id$");
void
der_free_general_string (heim_general_string *str)

View File

@ -33,7 +33,7 @@
#include "der_locl.h"
RCSID("$Id: der_get.c 21369 2007-06-27 10:14:39Z lha $");
RCSID("$Id$");
#include <version.h>

View File

@ -33,7 +33,7 @@
#include "der_locl.h"
RCSID("$Id: der_length.c 19539 2006-12-28 17:15:05Z lha $");
RCSID("$Id$");
size_t
_heim_len_unsigned (unsigned val)

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*/
/* $Id: der_locl.h 18608 2006-10-19 16:24:02Z lha $ */
/* $Id$ */
#ifndef __DER_LOCL_H__
#define __DER_LOCL_H__

View File

@ -33,7 +33,7 @@
#include "der_locl.h"
RCSID("$Id: der_put.c 19539 2006-12-28 17:15:05Z lha $");
RCSID("$Id$");
/*
* All encoding functions take a pointer `p' to first position in

View File

@ -1,4 +1,4 @@
-- $Id: digest.asn1 22152 2007-12-04 19:59:18Z lha $
-- $Id$
DIGEST DEFINITIONS ::=
BEGIN

View File

@ -34,7 +34,7 @@
#include "der_locl.h"
#include "heim_asn1.h"
RCSID("$Id: extra.c 16672 2006-01-31 09:44:54Z lha $");
RCSID("$Id$");
int
encode_heim_any(unsigned char *p, size_t len,

View File

@ -33,7 +33,7 @@
#include "gen_locl.h"
RCSID("$Id: gen.c 22896 2008-04-07 18:52:24Z lha $");
RCSID("$Id$");
FILE *headerfile, *codefile, *logfile;

View File

@ -33,7 +33,7 @@
#include "gen_locl.h"
RCSID("$Id: gen_copy.c 19539 2006-12-28 17:15:05Z lha $");
RCSID("$Id$");
static int used_fail;

View File

@ -34,7 +34,7 @@
#include "gen_locl.h"
#include "lex.h"
RCSID("$Id: gen_decode.c 21503 2007-07-12 11:57:19Z lha $");
RCSID("$Id$");
static void
decode_primitive (const char *typename, const char *name, const char *forwstr)

View File

@ -33,7 +33,7 @@
#include "gen_locl.h"
RCSID("$Id: gen_encode.c 22429 2008-01-13 10:25:50Z lha $");
RCSID("$Id$");
static void
encode_primitive (const char *typename, const char *name)

View File

@ -33,7 +33,7 @@
#include "gen_locl.h"
RCSID("$Id: gen_free.c 19539 2006-12-28 17:15:05Z lha $");
RCSID("$Id$");
static void
free_primitive (const char *typename, const char *name)

View File

@ -33,7 +33,7 @@
#include "gen_locl.h"
RCSID("$Id: gen_glue.c 15617 2005-07-12 06:27:42Z lha $");
RCSID("$Id$");
static void
generate_2int (const Type *t, const char *gen_name)

View File

@ -33,7 +33,7 @@
#include "gen_locl.h"
RCSID("$Id: gen_length.c 21503 2007-07-12 11:57:19Z lha $");
RCSID("$Id$");
static void
length_primitive (const char *typename,

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*/
/* $Id: gen_locl.h 18008 2006-09-05 12:29:18Z lha $ */
/* $Id$ */
#ifndef __GEN_LOCL_H__
#define __GEN_LOCL_H__

View File

@ -33,7 +33,7 @@
#include "gen_locl.h"
RCSID("$Id: gen_seq.c 20561 2007-04-24 16:14:30Z lha $");
RCSID("$Id$");
void
generate_type_seq (const Symbol *s)

View File

@ -37,7 +37,7 @@
#include "gen_locl.h"
RCSID("$Id: hash.c 17016 2006-04-07 22:16:00Z lha $");
RCSID("$Id$");
static Hashentry *_search(Hashtab * htab, /* The hash table */
void *ptr); /* And key */

View File

@ -35,7 +35,7 @@
* hash.h. Header file for hash table functions
*/
/* $Id: hash.h 7464 1999-12-02 17:05:13Z joda $ */
/* $Id$ */
struct hashentry { /* Entry in bucket */
struct hashentry **prev;

View File

@ -1,4 +1,4 @@
-- $Id: k5.asn1 22745 2008-03-24 12:07:54Z lha $
-- $Id$
KERBEROS5 DEFINITIONS ::=
BEGIN
@ -72,6 +72,7 @@ PADATA-TYPE ::= INTEGER {
KRB5-PADATA-TD-REQ-SEQ(108), -- INTEGER
KRB5-PADATA-PA-PAC-REQUEST(128), -- jbrezak@exchange.microsoft.com
KRB5-PADATA-S4U2SELF(129),
KRB5-PADATA-EPAC(130), -- EPAK
KRB5-PADATA-PK-AS-09-BINDING(132), -- client send this to
-- tell KDC that is supports
-- the asCheckSum in the
@ -94,7 +95,8 @@ AUTHDATA-TYPE ::= INTEGER {
KRB5-AUTHDATA-OSF-DCE-PKI-CERTID(66),
KRB5-AUTHDATA-WIN2K-PAC(128),
KRB5-AUTHDATA-GSS-API-ETYPE-NEGOTIATION(129), -- Authenticator only
KRB5-AUTHDATA-SIGNTICKET(-17)
KRB5-AUTHDATA-SIGNTICKET-OLD(-17),
KRB5-AUTHDATA-SIGNTICKET(142)
}
-- checksumtypes

View File

@ -1,4 +1,4 @@
-- $Id: kx509.asn1 19546 2006-12-28 21:05:23Z lha $
-- $Id$
KX509 DEFINITIONS ::=
BEGIN

View File

@ -830,7 +830,7 @@ char *yytext;
* SUCH DAMAGE.
*/
/* $Id: lex.l 18738 2006-10-21 11:57:22Z lha $ */
/* $Id$ */
#ifdef HAVE_CONFIG_H
#include <config.h>

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*/
/* $Id: lex.h 15617 2005-07-12 06:27:42Z lha $ */
/* $Id$ */
#include <roken.h>

View File

@ -32,7 +32,7 @@
* SUCH DAMAGE.
*/
/* $Id: lex.l 18738 2006-10-21 11:57:22Z lha $ */
/* $Id$ */
#ifdef HAVE_CONFIG_H
#include <config.h>

View File

@ -35,7 +35,7 @@
#include <getarg.h>
#include "lex.h"
RCSID("$Id: main.c 20858 2007-06-03 18:56:41Z lha $");
RCSID("$Id$");
extern FILE *yyin;

View File

@ -248,7 +248,7 @@
/* Copy the first part of user declarations. */
#line 36 "parse.y"
#line 36 "heimdal/lib/asn1/parse.y"
#ifdef HAVE_CONFIG_H
#include <config.h>
@ -261,7 +261,7 @@
#include "gen_locl.h"
#include "der.h"
RCSID("$Id: parse.y 21597 2007-07-16 18:48:58Z lha $");
RCSID("$Id$");
static Type *new_type (Typetype t);
static struct constraint_spec *new_constraint_spec(enum ctype);
@ -280,7 +280,7 @@ struct string_list {
/* Enabling traces. */
#ifndef YYDEBUG
# define YYDEBUG 1
# define YYDEBUG 0
#endif
/* Enabling verbose error messages. */
@ -298,7 +298,7 @@ struct string_list {
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
#line 65 "parse.y"
#line 65 "heimdal/lib/asn1/parse.y"
{
int constant;
struct value *value;
@ -314,7 +314,7 @@ typedef union YYSTYPE
struct constraint_spec *constraint_spec;
}
/* Line 187 of yacc.c. */
#line 318 "parse.c"
#line 318 "heimdal/lib/asn1/parse.y"
YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
@ -327,7 +327,7 @@ typedef union YYSTYPE
/* Line 216 of yacc.c. */
#line 331 "parse.c"
#line 331 "heimdal/lib/asn1/parse.y"
#ifdef short
# undef short
@ -1762,29 +1762,29 @@ yyreduce:
switch (yyn)
{
case 2:
#line 235 "parse.y"
#line 235 "heimdal/lib/asn1/parse.y"
{
checkundefined();
}
break;
case 4:
#line 242 "parse.y"
#line 242 "heimdal/lib/asn1/parse.y"
{ error_message("implicit tagging is not supported"); }
break;
case 5:
#line 244 "parse.y"
#line 244 "heimdal/lib/asn1/parse.y"
{ error_message("automatic tagging is not supported"); }
break;
case 7:
#line 249 "parse.y"
#line 249 "heimdal/lib/asn1/parse.y"
{ error_message("no extensibility options supported"); }
break;
case 17:
#line 270 "parse.y"
#line 270 "heimdal/lib/asn1/parse.y"
{
struct string_list *sl;
for(sl = (yyvsp[(1) - (4)].sl); sl != NULL; sl = sl->next) {
@ -1796,7 +1796,7 @@ yyreduce:
break;
case 22:
#line 289 "parse.y"
#line 289 "heimdal/lib/asn1/parse.y"
{
(yyval.sl) = emalloc(sizeof(*(yyval.sl)));
(yyval.sl)->string = (yyvsp[(1) - (3)].name);
@ -1805,7 +1805,7 @@ yyreduce:
break;
case 23:
#line 295 "parse.y"
#line 295 "heimdal/lib/asn1/parse.y"
{
(yyval.sl) = emalloc(sizeof(*(yyval.sl)));
(yyval.sl)->string = (yyvsp[(1) - (1)].name);
@ -1814,7 +1814,7 @@ yyreduce:
break;
case 24:
#line 303 "parse.y"
#line 303 "heimdal/lib/asn1/parse.y"
{
Symbol *s = addsym ((yyvsp[(1) - (3)].name));
s->stype = Stype;
@ -1825,7 +1825,7 @@ yyreduce:
break;
case 42:
#line 334 "parse.y"
#line 334 "heimdal/lib/asn1/parse.y"
{
(yyval.type) = new_tag(ASN1_C_UNIV, UT_Boolean,
TE_EXPLICIT, new_type(TBoolean));
@ -1833,7 +1833,7 @@ yyreduce:
break;
case 43:
#line 341 "parse.y"
#line 341 "heimdal/lib/asn1/parse.y"
{
if((yyvsp[(2) - (5)].value)->type != integervalue)
error_message("Non-integer used in first part of range");
@ -1846,7 +1846,7 @@ yyreduce:
break;
case 44:
#line 351 "parse.y"
#line 351 "heimdal/lib/asn1/parse.y"
{
if((yyvsp[(2) - (5)].value)->type != integervalue)
error_message("Non-integer in first part of range");
@ -1857,7 +1857,7 @@ yyreduce:
break;
case 45:
#line 359 "parse.y"
#line 359 "heimdal/lib/asn1/parse.y"
{
if((yyvsp[(4) - (5)].value)->type != integervalue)
error_message("Non-integer in second part of range");
@ -1868,7 +1868,7 @@ yyreduce:
break;
case 46:
#line 367 "parse.y"
#line 367 "heimdal/lib/asn1/parse.y"
{
if((yyvsp[(2) - (3)].value)->type != integervalue)
error_message("Non-integer used in limit");
@ -1879,7 +1879,7 @@ yyreduce:
break;
case 47:
#line 378 "parse.y"
#line 378 "heimdal/lib/asn1/parse.y"
{
(yyval.type) = new_tag(ASN1_C_UNIV, UT_Integer,
TE_EXPLICIT, new_type(TInteger));
@ -1887,7 +1887,7 @@ yyreduce:
break;
case 48:
#line 383 "parse.y"
#line 383 "heimdal/lib/asn1/parse.y"
{
(yyval.type) = new_type(TInteger);
(yyval.type)->range = (yyvsp[(2) - (2)].range);
@ -1896,7 +1896,7 @@ yyreduce:
break;
case 49:
#line 389 "parse.y"
#line 389 "heimdal/lib/asn1/parse.y"
{
(yyval.type) = new_type(TInteger);
(yyval.type)->members = (yyvsp[(3) - (4)].members);
@ -1905,7 +1905,7 @@ yyreduce:
break;
case 50:
#line 397 "parse.y"
#line 397 "heimdal/lib/asn1/parse.y"
{
(yyval.members) = emalloc(sizeof(*(yyval.members)));
ASN1_TAILQ_INIT((yyval.members));
@ -1914,7 +1914,7 @@ yyreduce:
break;
case 51:
#line 403 "parse.y"
#line 403 "heimdal/lib/asn1/parse.y"
{
ASN1_TAILQ_INSERT_TAIL((yyvsp[(1) - (3)].members), (yyvsp[(3) - (3)].member), members);
(yyval.members) = (yyvsp[(1) - (3)].members);
@ -1922,12 +1922,12 @@ yyreduce:
break;
case 52:
#line 408 "parse.y"
#line 408 "heimdal/lib/asn1/parse.y"
{ (yyval.members) = (yyvsp[(1) - (3)].members); }
break;
case 53:
#line 412 "parse.y"
#line 412 "heimdal/lib/asn1/parse.y"
{
(yyval.member) = emalloc(sizeof(*(yyval.member)));
(yyval.member)->name = (yyvsp[(1) - (4)].name);
@ -1941,7 +1941,7 @@ yyreduce:
break;
case 54:
#line 425 "parse.y"
#line 425 "heimdal/lib/asn1/parse.y"
{
(yyval.type) = new_type(TInteger);
(yyval.type)->members = (yyvsp[(3) - (4)].members);
@ -1950,7 +1950,7 @@ yyreduce:
break;
case 56:
#line 436 "parse.y"
#line 436 "heimdal/lib/asn1/parse.y"
{
(yyval.type) = new_type(TBitString);
(yyval.type)->members = emalloc(sizeof(*(yyval.type)->members));
@ -1960,7 +1960,7 @@ yyreduce:
break;
case 57:
#line 443 "parse.y"
#line 443 "heimdal/lib/asn1/parse.y"
{
(yyval.type) = new_type(TBitString);
(yyval.type)->members = (yyvsp[(4) - (5)].members);
@ -1969,7 +1969,7 @@ yyreduce:
break;
case 58:
#line 451 "parse.y"
#line 451 "heimdal/lib/asn1/parse.y"
{
(yyval.type) = new_tag(ASN1_C_UNIV, UT_OID,
TE_EXPLICIT, new_type(TOID));
@ -1977,7 +1977,7 @@ yyreduce:
break;
case 59:
#line 457 "parse.y"
#line 457 "heimdal/lib/asn1/parse.y"
{
Type *t = new_type(TOctetString);
t->range = (yyvsp[(3) - (3)].range);
@ -1987,7 +1987,7 @@ yyreduce:
break;
case 60:
#line 466 "parse.y"
#line 466 "heimdal/lib/asn1/parse.y"
{
(yyval.type) = new_tag(ASN1_C_UNIV, UT_Null,
TE_EXPLICIT, new_type(TNull));
@ -1995,17 +1995,17 @@ yyreduce:
break;
case 61:
#line 473 "parse.y"
#line 473 "heimdal/lib/asn1/parse.y"
{ (yyval.range) = NULL; }
break;
case 62:
#line 475 "parse.y"
#line 475 "heimdal/lib/asn1/parse.y"
{ (yyval.range) = (yyvsp[(2) - (2)].range); }
break;
case 63:
#line 480 "parse.y"
#line 480 "heimdal/lib/asn1/parse.y"
{
(yyval.type) = new_type(TSequence);
(yyval.type)->members = (yyvsp[(3) - (4)].members);
@ -2014,7 +2014,7 @@ yyreduce:
break;
case 64:
#line 486 "parse.y"
#line 486 "heimdal/lib/asn1/parse.y"
{
(yyval.type) = new_type(TSequence);
(yyval.type)->members = NULL;
@ -2023,7 +2023,7 @@ yyreduce:
break;
case 65:
#line 494 "parse.y"
#line 494 "heimdal/lib/asn1/parse.y"
{
(yyval.type) = new_type(TSequenceOf);
(yyval.type)->range = (yyvsp[(2) - (4)].range);
@ -2033,7 +2033,7 @@ yyreduce:
break;
case 66:
#line 503 "parse.y"
#line 503 "heimdal/lib/asn1/parse.y"
{
(yyval.type) = new_type(TSet);
(yyval.type)->members = (yyvsp[(3) - (4)].members);
@ -2042,7 +2042,7 @@ yyreduce:
break;
case 67:
#line 509 "parse.y"
#line 509 "heimdal/lib/asn1/parse.y"
{
(yyval.type) = new_type(TSet);
(yyval.type)->members = NULL;
@ -2051,7 +2051,7 @@ yyreduce:
break;
case 68:
#line 517 "parse.y"
#line 517 "heimdal/lib/asn1/parse.y"
{
(yyval.type) = new_type(TSetOf);
(yyval.type)->subtype = (yyvsp[(3) - (3)].type);
@ -2060,7 +2060,7 @@ yyreduce:
break;
case 69:
#line 525 "parse.y"
#line 525 "heimdal/lib/asn1/parse.y"
{
(yyval.type) = new_type(TChoice);
(yyval.type)->members = (yyvsp[(3) - (4)].members);
@ -2068,7 +2068,7 @@ yyreduce:
break;
case 72:
#line 536 "parse.y"
#line 536 "heimdal/lib/asn1/parse.y"
{
Symbol *s = addsym((yyvsp[(1) - (1)].name));
(yyval.type) = new_type(TType);
@ -2080,7 +2080,7 @@ yyreduce:
break;
case 73:
#line 547 "parse.y"
#line 547 "heimdal/lib/asn1/parse.y"
{
(yyval.type) = new_tag(ASN1_C_UNIV, UT_GeneralizedTime,
TE_EXPLICIT, new_type(TGeneralizedTime));
@ -2088,7 +2088,7 @@ yyreduce:
break;
case 74:
#line 552 "parse.y"
#line 552 "heimdal/lib/asn1/parse.y"
{
(yyval.type) = new_tag(ASN1_C_UNIV, UT_UTCTime,
TE_EXPLICIT, new_type(TUTCTime));
@ -2096,7 +2096,7 @@ yyreduce:
break;
case 75:
#line 559 "parse.y"
#line 559 "heimdal/lib/asn1/parse.y"
{
/* if (Constraint.type == contentConstrant) {
assert(Constraint.u.constraint.type == octetstring|bitstring-w/o-NamedBitList); // remember to check type reference too
@ -2112,14 +2112,14 @@ yyreduce:
break;
case 76:
#line 575 "parse.y"
#line 575 "heimdal/lib/asn1/parse.y"
{
(yyval.constraint_spec) = (yyvsp[(2) - (3)].constraint_spec);
}
break;
case 80:
#line 588 "parse.y"
#line 588 "heimdal/lib/asn1/parse.y"
{
(yyval.constraint_spec) = new_constraint_spec(CT_CONTENTS);
(yyval.constraint_spec)->u.content.type = (yyvsp[(2) - (2)].type);
@ -2128,7 +2128,7 @@ yyreduce:
break;
case 81:
#line 594 "parse.y"
#line 594 "heimdal/lib/asn1/parse.y"
{
if ((yyvsp[(3) - (3)].value)->type != objectidentifiervalue)
error_message("Non-OID used in ENCODED BY constraint");
@ -2139,7 +2139,7 @@ yyreduce:
break;
case 82:
#line 602 "parse.y"
#line 602 "heimdal/lib/asn1/parse.y"
{
if ((yyvsp[(5) - (5)].value)->type != objectidentifiervalue)
error_message("Non-OID used in ENCODED BY constraint");
@ -2150,14 +2150,14 @@ yyreduce:
break;
case 83:
#line 612 "parse.y"
#line 612 "heimdal/lib/asn1/parse.y"
{
(yyval.constraint_spec) = new_constraint_spec(CT_USER);
}
break;
case 84:
#line 618 "parse.y"
#line 618 "heimdal/lib/asn1/parse.y"
{
(yyval.type) = new_type(TTag);
(yyval.type)->tag = (yyvsp[(1) - (3)].tag);
@ -2171,7 +2171,7 @@ yyreduce:
break;
case 85:
#line 631 "parse.y"
#line 631 "heimdal/lib/asn1/parse.y"
{
(yyval.tag).tagclass = (yyvsp[(2) - (4)].constant);
(yyval.tag).tagvalue = (yyvsp[(3) - (4)].constant);
@ -2180,56 +2180,56 @@ yyreduce:
break;
case 86:
#line 639 "parse.y"
#line 639 "heimdal/lib/asn1/parse.y"
{
(yyval.constant) = ASN1_C_CONTEXT;
}
break;
case 87:
#line 643 "parse.y"
#line 643 "heimdal/lib/asn1/parse.y"
{
(yyval.constant) = ASN1_C_UNIV;
}
break;
case 88:
#line 647 "parse.y"
#line 647 "heimdal/lib/asn1/parse.y"
{
(yyval.constant) = ASN1_C_APPL;
}
break;
case 89:
#line 651 "parse.y"
#line 651 "heimdal/lib/asn1/parse.y"
{
(yyval.constant) = ASN1_C_PRIVATE;
}
break;
case 90:
#line 657 "parse.y"
#line 657 "heimdal/lib/asn1/parse.y"
{
(yyval.constant) = TE_EXPLICIT;
}
break;
case 91:
#line 661 "parse.y"
#line 661 "heimdal/lib/asn1/parse.y"
{
(yyval.constant) = TE_EXPLICIT;
}
break;
case 92:
#line 665 "parse.y"
#line 665 "heimdal/lib/asn1/parse.y"
{
(yyval.constant) = TE_IMPLICIT;
}
break;
case 93:
#line 672 "parse.y"
#line 672 "heimdal/lib/asn1/parse.y"
{
Symbol *s;
s = addsym ((yyvsp[(1) - (4)].name));
@ -2241,7 +2241,7 @@ yyreduce:
break;
case 95:
#line 686 "parse.y"
#line 686 "heimdal/lib/asn1/parse.y"
{
(yyval.type) = new_tag(ASN1_C_UNIV, UT_GeneralString,
TE_EXPLICIT, new_type(TGeneralString));
@ -2249,7 +2249,7 @@ yyreduce:
break;
case 96:
#line 691 "parse.y"
#line 691 "heimdal/lib/asn1/parse.y"
{
(yyval.type) = new_tag(ASN1_C_UNIV, UT_UTF8String,
TE_EXPLICIT, new_type(TUTF8String));
@ -2257,7 +2257,7 @@ yyreduce:
break;
case 97:
#line 696 "parse.y"
#line 696 "heimdal/lib/asn1/parse.y"
{
(yyval.type) = new_tag(ASN1_C_UNIV, UT_PrintableString,
TE_EXPLICIT, new_type(TPrintableString));
@ -2265,7 +2265,7 @@ yyreduce:
break;
case 98:
#line 701 "parse.y"
#line 701 "heimdal/lib/asn1/parse.y"
{
(yyval.type) = new_tag(ASN1_C_UNIV, UT_VisibleString,
TE_EXPLICIT, new_type(TVisibleString));
@ -2273,7 +2273,7 @@ yyreduce:
break;
case 99:
#line 706 "parse.y"
#line 706 "heimdal/lib/asn1/parse.y"
{
(yyval.type) = new_tag(ASN1_C_UNIV, UT_IA5String,
TE_EXPLICIT, new_type(TIA5String));
@ -2281,7 +2281,7 @@ yyreduce:
break;
case 100:
#line 711 "parse.y"
#line 711 "heimdal/lib/asn1/parse.y"
{
(yyval.type) = new_tag(ASN1_C_UNIV, UT_BMPString,
TE_EXPLICIT, new_type(TBMPString));
@ -2289,7 +2289,7 @@ yyreduce:
break;
case 101:
#line 716 "parse.y"
#line 716 "heimdal/lib/asn1/parse.y"
{
(yyval.type) = new_tag(ASN1_C_UNIV, UT_UniversalString,
TE_EXPLICIT, new_type(TUniversalString));
@ -2297,7 +2297,7 @@ yyreduce:
break;
case 102:
#line 724 "parse.y"
#line 724 "heimdal/lib/asn1/parse.y"
{
(yyval.members) = emalloc(sizeof(*(yyval.members)));
ASN1_TAILQ_INIT((yyval.members));
@ -2306,7 +2306,7 @@ yyreduce:
break;
case 103:
#line 730 "parse.y"
#line 730 "heimdal/lib/asn1/parse.y"
{
ASN1_TAILQ_INSERT_TAIL((yyvsp[(1) - (3)].members), (yyvsp[(3) - (3)].member), members);
(yyval.members) = (yyvsp[(1) - (3)].members);
@ -2314,7 +2314,7 @@ yyreduce:
break;
case 104:
#line 735 "parse.y"
#line 735 "heimdal/lib/asn1/parse.y"
{
struct member *m = ecalloc(1, sizeof(*m));
m->name = estrdup("...");
@ -2326,7 +2326,7 @@ yyreduce:
break;
case 105:
#line 746 "parse.y"
#line 746 "heimdal/lib/asn1/parse.y"
{
(yyval.member) = emalloc(sizeof(*(yyval.member)));
(yyval.member)->name = (yyvsp[(1) - (2)].name);
@ -2338,7 +2338,7 @@ yyreduce:
break;
case 106:
#line 757 "parse.y"
#line 757 "heimdal/lib/asn1/parse.y"
{
(yyval.member) = (yyvsp[(1) - (1)].member);
(yyval.member)->optional = 0;
@ -2347,7 +2347,7 @@ yyreduce:
break;
case 107:
#line 763 "parse.y"
#line 763 "heimdal/lib/asn1/parse.y"
{
(yyval.member) = (yyvsp[(1) - (2)].member);
(yyval.member)->optional = 1;
@ -2356,7 +2356,7 @@ yyreduce:
break;
case 108:
#line 769 "parse.y"
#line 769 "heimdal/lib/asn1/parse.y"
{
(yyval.member) = (yyvsp[(1) - (3)].member);
(yyval.member)->optional = 0;
@ -2365,7 +2365,7 @@ yyreduce:
break;
case 109:
#line 777 "parse.y"
#line 777 "heimdal/lib/asn1/parse.y"
{
(yyval.members) = emalloc(sizeof(*(yyval.members)));
ASN1_TAILQ_INIT((yyval.members));
@ -2374,7 +2374,7 @@ yyreduce:
break;
case 110:
#line 783 "parse.y"
#line 783 "heimdal/lib/asn1/parse.y"
{
ASN1_TAILQ_INSERT_TAIL((yyvsp[(1) - (3)].members), (yyvsp[(3) - (3)].member), members);
(yyval.members) = (yyvsp[(1) - (3)].members);
@ -2382,7 +2382,7 @@ yyreduce:
break;
case 111:
#line 790 "parse.y"
#line 790 "heimdal/lib/asn1/parse.y"
{
(yyval.member) = emalloc(sizeof(*(yyval.member)));
(yyval.member)->name = (yyvsp[(1) - (4)].name);
@ -2396,26 +2396,26 @@ yyreduce:
break;
case 113:
#line 803 "parse.y"
#line 803 "heimdal/lib/asn1/parse.y"
{ (yyval.objid) = NULL; }
break;
case 114:
#line 807 "parse.y"
#line 807 "heimdal/lib/asn1/parse.y"
{
(yyval.objid) = (yyvsp[(2) - (3)].objid);
}
break;
case 115:
#line 813 "parse.y"
#line 813 "heimdal/lib/asn1/parse.y"
{
(yyval.objid) = NULL;
}
break;
case 116:
#line 817 "parse.y"
#line 817 "heimdal/lib/asn1/parse.y"
{
if ((yyvsp[(2) - (2)].objid)) {
(yyval.objid) = (yyvsp[(2) - (2)].objid);
@ -2427,14 +2427,14 @@ yyreduce:
break;
case 117:
#line 828 "parse.y"
#line 828 "heimdal/lib/asn1/parse.y"
{
(yyval.objid) = new_objid((yyvsp[(1) - (4)].name), (yyvsp[(3) - (4)].constant));
}
break;
case 118:
#line 832 "parse.y"
#line 832 "heimdal/lib/asn1/parse.y"
{
Symbol *s = addsym((yyvsp[(1) - (1)].name));
if(s->stype != SValue ||
@ -2448,14 +2448,14 @@ yyreduce:
break;
case 119:
#line 843 "parse.y"
#line 843 "heimdal/lib/asn1/parse.y"
{
(yyval.objid) = new_objid(NULL, (yyvsp[(1) - (1)].constant));
}
break;
case 129:
#line 866 "parse.y"
#line 866 "heimdal/lib/asn1/parse.y"
{
Symbol *s = addsym((yyvsp[(1) - (1)].name));
if(s->stype != SValue)
@ -2467,7 +2467,7 @@ yyreduce:
break;
case 130:
#line 877 "parse.y"
#line 877 "heimdal/lib/asn1/parse.y"
{
(yyval.value) = emalloc(sizeof(*(yyval.value)));
(yyval.value)->type = stringvalue;
@ -2476,7 +2476,7 @@ yyreduce:
break;
case 131:
#line 885 "parse.y"
#line 885 "heimdal/lib/asn1/parse.y"
{
(yyval.value) = emalloc(sizeof(*(yyval.value)));
(yyval.value)->type = booleanvalue;
@ -2485,7 +2485,7 @@ yyreduce:
break;
case 132:
#line 891 "parse.y"
#line 891 "heimdal/lib/asn1/parse.y"
{
(yyval.value) = emalloc(sizeof(*(yyval.value)));
(yyval.value)->type = booleanvalue;
@ -2494,7 +2494,7 @@ yyreduce:
break;
case 133:
#line 899 "parse.y"
#line 899 "heimdal/lib/asn1/parse.y"
{
(yyval.value) = emalloc(sizeof(*(yyval.value)));
(yyval.value)->type = integervalue;
@ -2503,13 +2503,13 @@ yyreduce:
break;
case 135:
#line 910 "parse.y"
#line 910 "heimdal/lib/asn1/parse.y"
{
}
break;
case 136:
#line 915 "parse.y"
#line 915 "heimdal/lib/asn1/parse.y"
{
(yyval.value) = emalloc(sizeof(*(yyval.value)));
(yyval.value)->type = objectidentifiervalue;
@ -2519,7 +2519,7 @@ yyreduce:
/* Line 1267 of yacc.c. */
#line 2523 "parse.c"
#line 2523 "heimdal/lib/asn1/parse.y"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@ -2733,7 +2733,7 @@ yyreturn:
}
#line 922 "parse.y"
#line 922 "heimdal/lib/asn1/parse.y"
void

View File

@ -222,7 +222,7 @@
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
#line 65 "parse.y"
#line 65 "heimdal/lib/asn1/parse.y"
{
int constant;
struct value *value;
@ -238,7 +238,7 @@ typedef union YYSTYPE
struct constraint_spec *constraint_spec;
}
/* Line 1489 of yacc.c. */
#line 242 "parse.h"
#line 242 "heimdal/lib/asn1/parse.y"
YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*/
/* $Id: parse.y 21597 2007-07-16 18:48:58Z lha $ */
/* $Id$ */
%{
#ifdef HAVE_CONFIG_H
@ -45,7 +45,7 @@
#include "gen_locl.h"
#include "der.h"
RCSID("$Id: parse.y 21597 2007-07-16 18:48:58Z lha $");
RCSID("$Id$");
static Type *new_type (Typetype t);
static struct constraint_spec *new_constraint_spec(enum ctype);

View File

@ -1,4 +1,4 @@
-- $Id: pkcs12.asn1 15715 2005-07-23 11:08:47Z lha $ --
-- $Id$ --
PKCS12 DEFINITIONS ::=

View File

@ -1,4 +1,4 @@
-- $Id: pkcs8.asn1 16060 2005-09-13 19:41:29Z lha $ --
-- $Id$ --
PKCS8 DEFINITIONS ::=

View File

@ -1,4 +1,4 @@
-- $Id: pkcs9.asn1 17202 2006-04-24 08:59:10Z lha $ --
-- $Id$ --
PKCS9 DEFINITIONS ::=

View File

@ -34,7 +34,7 @@
#include "gen_locl.h"
#include "lex.h"
RCSID("$Id: symbol.c 15617 2005-07-12 06:27:42Z lha $");
RCSID("$Id$");
static Hashtab *htab;

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*/
/* $Id: symbol.h 19539 2006-12-28 17:15:05Z lha $ */
/* $Id$ */
#ifndef _SYMBOL_H
#define _SYMBOL_H

View File

@ -1,4 +1,4 @@
-- $Id: test.asn1 21455 2007-07-10 12:51:19Z lha $ --
-- $Id$ --
TEST DEFINITIONS ::=

View File

@ -1,4 +1,4 @@
# $Id: test.gen 15617 2005-07-12 06:27:42Z lha $
# $Id$
# Sample for TESTSeq in test.asn1
#

View File

@ -33,7 +33,7 @@
#include "der_locl.h"
RCSID("$Id: timegm.c 21366 2007-06-27 10:06:22Z lha $");
RCSID("$Id$");
static int
is_leap(unsigned y)

View File

@ -33,7 +33,7 @@
#ifdef HAVE_CONFIG_H
#include <config.h>
RCSID("$Id: com_err.c 14930 2005-04-24 19:43:06Z lha $");
RCSID("$Id$");
#endif
#include <stdio.h>
#include <stdlib.h>

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*/
/* $Id: com_err.h 15566 2005-07-07 14:58:07Z lha $ */
/* $Id$ */
/* MIT compatible com_err library */

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*/
/* $Id: com_right.h 14551 2005-02-03 08:45:13Z lha $ */
/* $Id$ */
#ifndef __COM_RIGHT_H__
#define __COM_RIGHT_H__

View File

@ -35,7 +35,7 @@
#include "compile_et.h"
#include <getarg.h>
RCSID("$Id: compile_et.c 15426 2005-06-16 19:21:42Z lha $");
RCSID("$Id$");
#include <roken.h>
#include <err.h>

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*/
/* $Id: compile_et.h 15426 2005-06-16 19:21:42Z lha $ */
/* $Id$ */
#ifndef __COMPILE_ET_H__
#define __COMPILE_ET_H__

View File

@ -33,7 +33,7 @@
#ifdef HAVE_CONFIG_H
#include <config.h>
RCSID("$Id: error.c 9724 2001-02-28 20:00:13Z joda $");
RCSID("$Id$");
#endif
#include <stdio.h>
#include <stdlib.h>

View File

@ -527,7 +527,7 @@ char *yytext;
#include "parse.h"
#include "lex.h"
RCSID("$Id: lex.l 15143 2005-05-16 08:52:54Z lha $");
RCSID("$Id$");
static unsigned lineno = 1;
static int getstring(void);

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*/
/* $Id: lex.h 8451 2000-06-22 00:42:52Z assar $ */
/* $Id$ */
void error_message (const char *, ...)
__attribute__ ((format (printf, 1, 2)));

View File

@ -44,7 +44,7 @@
#include "parse.h"
#include "lex.h"
RCSID("$Id: lex.l 15143 2005-05-16 08:52:54Z lha $");
RCSID("$Id$");
static unsigned lineno = 1;
static int getstring(void);

View File

@ -90,7 +90,7 @@
/* Copy the first part of user declarations. */
#line 1 "parse.y"
#line 1 "heimdal/lib/com_err/parse.y"
/*
* Copyright (c) 1998 - 2000 Kungliga Tekniska Högskolan
@ -128,7 +128,7 @@
#include "compile_et.h"
#include "lex.h"
RCSID("$Id: parse.y 15426 2005-06-16 19:21:42Z lha $");
RCSID("$Id$");
void yyerror (char *s);
static long name2number(const char *str);
@ -163,13 +163,13 @@ extern char *yytext;
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
#line 53 "parse.y"
#line 53 "heimdal/lib/com_err/parse.y"
{
char *string;
int number;
}
/* Line 187 of yacc.c. */
#line 173 "parse.c"
#line 173 "heimdal/lib/com_err/parse.y"
YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
@ -182,7 +182,7 @@ typedef union YYSTYPE
/* Line 216 of yacc.c. */
#line 186 "parse.c"
#line 186 "heimdal/lib/com_err/parse.y"
#ifdef short
# undef short
@ -1381,14 +1381,14 @@ yyreduce:
switch (yyn)
{
case 6:
#line 73 "parse.y"
#line 73 "heimdal/lib/com_err/parse.y"
{
id_str = (yyvsp[(2) - (2)].string);
}
break;
case 7:
#line 79 "parse.y"
#line 79 "heimdal/lib/com_err/parse.y"
{
base_id = name2number((yyvsp[(2) - (2)].string));
strlcpy(name, (yyvsp[(2) - (2)].string), sizeof(name));
@ -1397,7 +1397,7 @@ yyreduce:
break;
case 8:
#line 85 "parse.y"
#line 85 "heimdal/lib/com_err/parse.y"
{
base_id = name2number((yyvsp[(2) - (3)].string));
strlcpy(name, (yyvsp[(3) - (3)].string), sizeof(name));
@ -1407,14 +1407,14 @@ yyreduce:
break;
case 11:
#line 98 "parse.y"
#line 98 "heimdal/lib/com_err/parse.y"
{
number = (yyvsp[(2) - (2)].number);
}
break;
case 12:
#line 102 "parse.y"
#line 102 "heimdal/lib/com_err/parse.y"
{
free(prefix);
asprintf (&prefix, "%s_", (yyvsp[(2) - (2)].string));
@ -1425,7 +1425,7 @@ yyreduce:
break;
case 13:
#line 110 "parse.y"
#line 110 "heimdal/lib/com_err/parse.y"
{
prefix = realloc(prefix, 1);
if (prefix == NULL)
@ -1435,7 +1435,7 @@ yyreduce:
break;
case 14:
#line 117 "parse.y"
#line 117 "heimdal/lib/com_err/parse.y"
{
struct error_code *ec = malloc(sizeof(*ec));
@ -1458,7 +1458,7 @@ yyreduce:
break;
case 15:
#line 137 "parse.y"
#line 137 "heimdal/lib/com_err/parse.y"
{
YYACCEPT;
}
@ -1466,7 +1466,7 @@ yyreduce:
/* Line 1267 of yacc.c. */
#line 1470 "parse.c"
#line 1470 "heimdal/lib/com_err/parse.y"
default: break;
}
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@ -1680,7 +1680,7 @@ yyreturn:
}
#line 142 "parse.y"
#line 142 "heimdal/lib/com_err/parse.y"
static long

View File

@ -64,13 +64,13 @@
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
#line 53 "parse.y"
#line 53 "heimdal/lib/com_err/parse.y"
{
char *string;
int number;
}
/* Line 1489 of yacc.c. */
#line 74 "parse.h"
#line 74 "heimdal/lib/com_err/parse.y"
YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1

View File

@ -35,7 +35,7 @@
#include "compile_et.h"
#include "lex.h"
RCSID("$Id: parse.y 15426 2005-06-16 19:21:42Z lha $");
RCSID("$Id$");
void yyerror (char *s);
static long name2number(const char *str);

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*/
/* $Id: gssapi.h 23025 2008-04-17 10:01:57Z lha $ */
/* $Id$ */
#ifndef GSSAPI_GSSAPI_H_
#define GSSAPI_GSSAPI_H_
@ -123,6 +123,7 @@ typedef OM_uint32 gss_qop_t;
#define GSS_C_DCE_STYLE 4096
#define GSS_C_IDENTIFY_FLAG 8192
#define GSS_C_EXTENDED_ERROR_FLAG 16384
#define GSS_C_DELEG_POLICY_FLAG 32768
/*
* Credential usage options

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*/
/* $Id: gssapi_krb5.h 23420 2008-07-26 18:37:48Z lha $ */
/* $Id$ */
#ifndef GSSAPI_KRB5_H_
#define GSSAPI_KRB5_H_

View File

@ -31,7 +31,7 @@
* SUCH DAMAGE.
*/
/* $Id: gssapi_spnego.h 23025 2008-04-17 10:01:57Z lha $ */
/* $Id$ */
#ifndef GSSAPI_SPNEGO_H_
#define GSSAPI_SPNEGO_H_

View File

@ -33,7 +33,7 @@
#include "krb5/gsskrb5_locl.h"
RCSID("$Id: 8003.c 18334 2006-10-07 22:16:04Z lha $");
RCSID("$Id$");
krb5_error_code
_gsskrb5_encode_om_uint32(OM_uint32 n, u_char *p)

View File

@ -33,7 +33,7 @@
#include "krb5/gsskrb5_locl.h"
RCSID("$Id: accept_sec_context.c 23433 2008-07-26 18:44:26Z lha $");
RCSID("$Id$");
HEIMDAL_MUTEX gssapi_keytab_mutex = HEIMDAL_MUTEX_INITIALIZER;
krb5_keytab _gsskrb5_keytab;
@ -371,9 +371,8 @@ gsskrb5_acceptor_start(OM_uint32 * minor_status,
if (kret) {
if (in)
krb5_rd_req_in_ctx_free(context, in);
ret = GSS_S_FAILURE;
*minor_status = kret;
return ret;
return GSS_S_FAILURE;
}
kret = krb5_rd_req_ctx(context,
@ -382,13 +381,18 @@ gsskrb5_acceptor_start(OM_uint32 * minor_status,
server,
in, &out);
krb5_rd_req_in_ctx_free(context, in);
if (kret) {
if (kret == KRB5KRB_AP_ERR_SKEW) {
/*
* No reply in non-MUTUAL mode, but we don't know that its
* non-MUTUAL mode yet, thats inside the 8003 checksum.
* non-MUTUAL mode yet, thats inside the 8003 checksum, so
* lets only send the error token on clock skew, that
* limit when send error token for non-MUTUAL.
*/
return send_error_token(minor_status, context, kret,
server, &indata, output_token);
} else if (kret) {
*minor_status = kret;
return GSS_S_FAILURE;
}
/*
@ -520,16 +524,36 @@ gsskrb5_acceptor_start(OM_uint32 * minor_status,
if(ctx->flags & GSS_C_MUTUAL_FLAG) {
krb5_data outbuf;
int use_subkey = 0;
_gsskrb5i_is_cfx(ctx, &is_cfx);
if (is_cfx != 0
|| (ap_options & AP_OPTS_USE_SUBKEY)) {
kret = krb5_auth_con_addflags(context,
ctx->auth_context,
KRB5_AUTH_CONTEXT_USE_SUBKEY,
NULL);
if (is_cfx || (ap_options & AP_OPTS_USE_SUBKEY)) {
use_subkey = 1;
} else {
krb5_keyblock *rkey;
/*
* If there is a initiator subkey, copy that to acceptor
* subkey to match Windows behavior
*/
kret = krb5_auth_con_getremotesubkey(context,
ctx->auth_context,
&rkey);
if (kret == 0) {
kret = krb5_auth_con_setlocalsubkey(context,
ctx->auth_context,
rkey);
if (kret == 0)
use_subkey = 1;
krb5_free_keyblock(context, rkey);
}
}
if (use_subkey) {
ctx->more_flags |= ACCEPTOR_SUBKEY;
krb5_auth_con_addflags(context, ctx->auth_context,
KRB5_AUTH_CONTEXT_USE_SUBKEY,
NULL);
}
kret = krb5_mk_rep(context,

View File

@ -33,7 +33,7 @@
#include "krb5/gsskrb5_locl.h"
RCSID("$Id: acquire_cred.c 22596 2008-02-18 18:05:55Z lha $");
RCSID("$Id$");
OM_uint32
__gsskrb5_ccache_lifetime(OM_uint32 *minor_status,
@ -134,11 +134,16 @@ static OM_uint32 acquire_initiator_cred
* errors while searching.
*/
if (handle->principal)
if (handle->principal) {
kret = krb5_cc_cache_match (context,
handle->principal,
NULL,
&ccache);
if (kret == 0) {
ret = GSS_S_COMPLETE;
goto found;
}
}
if (ccache == NULL) {
kret = krb5_cc_default(context, &ccache);
@ -211,7 +216,7 @@ static OM_uint32 acquire_initiator_cred
}
kret = 0;
}
found:
handle->ccache = ccache;
ret = GSS_S_COMPLETE;
@ -242,7 +247,6 @@ static OM_uint32 acquire_acceptor_cred
OM_uint32 ret;
krb5_error_code kret;
kret = 0;
ret = GSS_S_FAILURE;
kret = get_keytab(context, &handle->keytab);
if (kret)
@ -336,13 +340,13 @@ OM_uint32 _gsskrb5_acquire_cred
HEIMDAL_MUTEX_init(&handle->cred_id_mutex);
if (desired_name != GSS_C_NO_NAME) {
krb5_principal name = (krb5_principal)desired_name;
ret = krb5_copy_principal(context, name, &handle->principal);
ret = _gsskrb5_canon_name(minor_status, context, 0, desired_name,
&handle->principal);
if (ret) {
HEIMDAL_MUTEX_destroy(&handle->cred_id_mutex);
*minor_status = ret;
free(handle);
return GSS_S_FAILURE;
return ret;
}
}
if (cred_usage == GSS_C_INITIATE || cred_usage == GSS_C_BOTH) {

View File

@ -33,7 +33,7 @@
#include "krb5/gsskrb5_locl.h"
RCSID("$Id: add_cred.c 20688 2007-05-17 18:44:31Z lha $");
RCSID("$Id$");
OM_uint32 _gsskrb5_add_cred (
OM_uint32 *minor_status,

View File

@ -33,7 +33,7 @@
#include "krb5/gsskrb5_locl.h"
RCSID("$Id: arcfour.c 19031 2006-11-13 18:02:57Z lha $");
RCSID("$Id$");
/*
* Implements draft-brezak-win2k-krb-rc4-hmac-04.txt

View File

@ -33,7 +33,7 @@
#include "krb5/gsskrb5_locl.h"
RCSID("$Id: canonicalize_name.c 18334 2006-10-07 22:16:04Z lha $");
RCSID("$Id$");
OM_uint32 _gsskrb5_canonicalize_name (
OM_uint32 * minor_status,
@ -42,5 +42,19 @@ OM_uint32 _gsskrb5_canonicalize_name (
gss_name_t * output_name
)
{
return _gsskrb5_duplicate_name (minor_status, input_name, output_name);
krb5_context context;
krb5_principal name;
OM_uint32 ret;
*output_name = NULL;
GSSAPI_KRB5_INIT (&context);
ret = _gsskrb5_canon_name(minor_status, context, 1, input_name, &name);
if (ret)
return ret;
*output_name = (gss_name_t)name;
return GSS_S_COMPLETE;
}

View File

@ -32,7 +32,7 @@
#include "krb5/gsskrb5_locl.h"
RCSID("$Id: cfx.c 19031 2006-11-13 18:02:57Z lha $");
RCSID("$Id$");
/*
* Implementation of draft-ietf-krb-wg-gssapi-cfx-06.txt

2
source4/heimdal/lib/gssapi/krb5/cfx.h Executable file → Normal file
View File

@ -30,7 +30,7 @@
* SUCH DAMAGE.
*/
/* $Id: cfx.h 19031 2006-11-13 18:02:57Z lha $ */
/* $Id$ */
#ifndef GSSAPI_CFX_H_
#define GSSAPI_CFX_H_ 1

View File

@ -33,7 +33,7 @@
#include "krb5/gsskrb5_locl.h"
RCSID("$Id: compare_name.c 19031 2006-11-13 18:02:57Z lha $");
RCSID("$Id$");
OM_uint32 _gsskrb5_compare_name
(OM_uint32 * minor_status,

View File

@ -33,7 +33,7 @@
#include "krb5/gsskrb5_locl.h"
RCSID("$Id: compat.c 19031 2006-11-13 18:02:57Z lha $");
RCSID("$Id$");
static krb5_error_code

View File

@ -33,7 +33,7 @@
#include "krb5/gsskrb5_locl.h"
RCSID("$Id: context_time.c 19031 2006-11-13 18:02:57Z lha $");
RCSID("$Id$");
OM_uint32
_gsskrb5_lifetime_left(OM_uint32 *minor_status,

View File

@ -33,7 +33,7 @@
#include "krb5/gsskrb5_locl.h"
RCSID("$Id: copy_ccache.c 20688 2007-05-17 18:44:31Z lha $");
RCSID("$Id$");
#if 0
OM_uint32

Some files were not shown because too many files have changed in this diff Show More