svn rev #25688: trunk/src/lib/krb5/asn.1/
ghudson@MIT.EDU
ghudson at MIT.EDU
Sat Feb 11 18:25:08 EST 2012
http://mv.ezproxy.com.ezproxyberklee.flo.org/fisheye/changelog/krb5/?cs=25688
Commit By: ghudson
Log Message:
Eliminate some unused ASN.1 encoding primitives
asn1_make.c contained a variety of utility functions, most of which we
no longer needed. Fold make_tag into asn1_encode.c and get rid of
asn1_make.c and asn1_make.h.
Changed Files:
U trunk/src/lib/krb5/asn.1/Makefile.in
U trunk/src/lib/krb5/asn.1/asn1_encode.c
U trunk/src/lib/krb5/asn.1/asn1_k_encode.c
D trunk/src/lib/krb5/asn.1/asn1_make.c
D trunk/src/lib/krb5/asn.1/asn1_make.h
U trunk/src/lib/krb5/asn.1/deps
U trunk/src/lib/krb5/asn.1/ldap_key_seq.c
Modified: trunk/src/lib/krb5/asn.1/Makefile.in
===================================================================
--- trunk/src/lib/krb5/asn.1/Makefile.in 2012-02-11 23:25:04 UTC (rev 25687)
+++ trunk/src/lib/krb5/asn.1/Makefile.in 2012-02-11 23:25:08 UTC (rev 25688)
@@ -16,7 +16,6 @@
asn1_k_decode_sam.o\
asn1_encode.o\
asn1_get.o\
- asn1_make.o\
asn1buf.o\
krb5_decode.o\
krb5_decode_kdc.o\
@@ -32,7 +31,6 @@
$(srcdir)/asn1_k_decode_sam.c\
$(srcdir)/asn1_encode.c\
$(srcdir)/asn1_get.c\
- $(srcdir)/asn1_make.c\
$(srcdir)/asn1buf.c\
$(srcdir)/krb5_decode.c\
$(srcdir)/krb5_decode_kdc.c\
@@ -48,7 +46,6 @@
$(OUTPRE)asn1_k_decode_sam.$(OBJEXT)\
$(OUTPRE)asn1_encode.$(OBJEXT)\
$(OUTPRE)asn1_get.$(OBJEXT)\
- $(OUTPRE)asn1_make.$(OBJEXT)\
$(OUTPRE)asn1buf.$(OBJEXT)\
$(OUTPRE)krb5_decode.$(OBJEXT)\
$(OUTPRE)krb5_decode_kdc.$(OBJEXT)\
Modified: trunk/src/lib/krb5/asn.1/asn1_encode.c
===================================================================
--- trunk/src/lib/krb5/asn.1/asn1_encode.c 2012-02-11 23:25:04 UTC (rev 25687)
+++ trunk/src/lib/krb5/asn.1/asn1_encode.c 2012-02-11 23:25:08 UTC (rev 25688)
@@ -27,7 +27,6 @@
/* ASN.1 primitive encoders */
#include "asn1_encode.h"
-#include "asn1_make.h"
asn1_error_code
asn1_encode_boolean(asn1buf *buf, asn1_intmax val, unsigned int *retlen)
@@ -172,6 +171,71 @@
return asn1buf_insert_octet(buf, '\0');
}
+static asn1_error_code
+make_tag(asn1buf *buf, const taginfo *t, unsigned int *retlen)
+{
+ asn1_error_code ret;
+ asn1_tagnum tag_copy;
+ unsigned int sum = 0, length, len_copy;
+
+ if (t->tagnum > ASN1_TAGNUM_MAX)
+ return ASN1_OVERFLOW;
+
+ /* Encode the length of the content within the tag. */
+ if (t->length < 128) {
+ ret = asn1buf_insert_octet(buf, t->length & 0x7F);
+ if (ret)
+ return ret;
+ length = 1;
+ } else {
+ length = 0;
+ for (len_copy = t->length; len_copy != 0; len_copy >>= 8) {
+ ret = asn1buf_insert_octet(buf, len_copy & 0xFF);
+ if (ret)
+ return ret;
+ length++;
+ }
+ ret = asn1buf_insert_octet(buf, 0x80 | (length & 0x7F));
+ if (ret)
+ return ret;
+ length++;
+ }
+ sum += length;
+
+ /* Encode the tag and construction bit. */
+ if (t->tagnum < 31) {
+ ret = asn1buf_insert_octet(buf,
+ t->asn1class | t->construction | t->tagnum);
+ if (ret)
+ return ret;
+ length = 1;
+ } else {
+ tag_copy = t->tagnum;
+ length = 0;
+ ret = asn1buf_insert_octet(buf, tag_copy & 0x7F);
+ if (ret)
+ return ret;
+ tag_copy >>= 7;
+ length++;
+
+ for (; tag_copy != 0; tag_copy >>= 7) {
+ ret = asn1buf_insert_octet(buf, 0x80 | (tag_copy & 0x7F));
+ if (ret)
+ return ret;
+ length++;
+ }
+
+ ret = asn1buf_insert_octet(buf, t->asn1class | t->construction | 0x1F);
+ if (ret)
+ return ret;
+ length++;
+ }
+ sum += length;
+
+ *retlen = sum;
+ return 0;
+}
+
/*
* ASN.1 constructed type encoder engine
*
@@ -381,9 +445,7 @@
return retval;
if (!tag->implicit) {
unsigned int tlen;
- retval = asn1_make_tag(buf, rettag->asn1class,
- rettag->construction, rettag->tagnum,
- rettag->length, &tlen);
+ retval = make_tag(buf, rettag, &tlen);
if (retval)
return retval;
rettag->length += tlen;
@@ -441,8 +503,7 @@
retval = krb5int_asn1_encode_type(buf, val, a, &t);
if (retval)
return retval;
- retval = asn1_make_tag(buf, t.asn1class, t.construction, t.tagnum,
- t.length, &tlen);
+ retval = make_tag(buf, &t, &tlen);
if (retval)
return retval;
*retlen = t.length + tlen;
Modified: trunk/src/lib/krb5/asn.1/asn1_k_encode.c
===================================================================
--- trunk/src/lib/krb5/asn.1/asn1_k_encode.c 2012-02-11 23:25:04 UTC (rev 25687)
+++ trunk/src/lib/krb5/asn.1/asn1_k_encode.c 2012-02-11 23:25:08 UTC (rev 25688)
@@ -24,7 +24,6 @@
* or implied warranty.
*/
-#include "asn1_make.h"
#include "asn1_encode.h"
#include <assert.h>
Modified: trunk/src/lib/krb5/asn.1/deps
===================================================================
--- trunk/src/lib/krb5/asn.1/deps 2012-02-11 23:25:04 UTC (rev 25687)
+++ trunk/src/lib/krb5/asn.1/deps 2012-02-11 23:25:08 UTC (rev 25688)
@@ -76,7 +76,7 @@
$(top_srcdir)/include/krb5/authdata_plugin.h $(top_srcdir)/include/krb5/plugin.h \
$(top_srcdir)/include/krb5/preauth_plugin.h $(top_srcdir)/include/port-sockets.h \
$(top_srcdir)/include/socket-utils.h asn1_encode.c \
- asn1_encode.h asn1_make.h asn1buf.h krbasn1.h
+ asn1_encode.h asn1_get.h asn1buf.h krbasn1.h
asn1_get.so asn1_get.po $(OUTPRE)asn1_get.$(OBJEXT): \
$(BUILDTOP)/include/autoconf.h $(BUILDTOP)/include/krb5/krb5.h \
$(BUILDTOP)/include/osconf.h $(BUILDTOP)/include/profile.h \
@@ -89,18 +89,6 @@
$(top_srcdir)/include/krb5/preauth_plugin.h $(top_srcdir)/include/port-sockets.h \
$(top_srcdir)/include/socket-utils.h asn1_get.c asn1_get.h \
asn1buf.h krbasn1.h
-asn1_make.so asn1_make.po $(OUTPRE)asn1_make.$(OBJEXT): \
- $(BUILDTOP)/include/autoconf.h $(BUILDTOP)/include/krb5/krb5.h \
- $(BUILDTOP)/include/osconf.h $(BUILDTOP)/include/profile.h \
- $(COM_ERR_DEPS) $(top_srcdir)/include/k5-buf.h $(top_srcdir)/include/k5-err.h \
- $(top_srcdir)/include/k5-gmt_mktime.h $(top_srcdir)/include/k5-int-pkinit.h \
- $(top_srcdir)/include/k5-int.h $(top_srcdir)/include/k5-platform.h \
- $(top_srcdir)/include/k5-plugin.h $(top_srcdir)/include/k5-thread.h \
- $(top_srcdir)/include/k5-trace.h $(top_srcdir)/include/krb5.h \
- $(top_srcdir)/include/krb5/authdata_plugin.h $(top_srcdir)/include/krb5/plugin.h \
- $(top_srcdir)/include/krb5/preauth_plugin.h $(top_srcdir)/include/port-sockets.h \
- $(top_srcdir)/include/socket-utils.h asn1_make.c asn1_make.h \
- asn1buf.h krbasn1.h
asn1buf.so asn1buf.po $(OUTPRE)asn1buf.$(OBJEXT): $(BUILDTOP)/include/autoconf.h \
$(BUILDTOP)/include/krb5/krb5.h $(BUILDTOP)/include/osconf.h \
$(BUILDTOP)/include/profile.h $(COM_ERR_DEPS) $(top_srcdir)/include/k5-buf.h \
@@ -149,7 +137,7 @@
$(top_srcdir)/include/krb5/authdata_plugin.h $(top_srcdir)/include/krb5/plugin.h \
$(top_srcdir)/include/krb5/preauth_plugin.h $(top_srcdir)/include/port-sockets.h \
$(top_srcdir)/include/socket-utils.h asn1_encode.h \
- asn1_k_encode.c asn1_make.h asn1buf.h krbasn1.h
+ asn1_get.h asn1_k_encode.c asn1buf.h krbasn1.h
ldap_key_seq.so ldap_key_seq.po $(OUTPRE)ldap_key_seq.$(OBJEXT): \
$(BUILDTOP)/include/autoconf.h $(BUILDTOP)/include/krb5/krb5.h \
$(BUILDTOP)/include/osconf.h $(BUILDTOP)/include/profile.h \
@@ -161,8 +149,8 @@
$(top_srcdir)/include/krb5.h $(top_srcdir)/include/krb5/authdata_plugin.h \
$(top_srcdir)/include/krb5/plugin.h $(top_srcdir)/include/krb5/preauth_plugin.h \
$(top_srcdir)/include/port-sockets.h $(top_srcdir)/include/socket-utils.h \
- asn1_decode.h asn1_encode.h asn1_get.h asn1_make.h \
- asn1buf.h krbasn1.h ldap_key_seq.c
+ asn1_decode.h asn1_encode.h asn1_get.h asn1buf.h krbasn1.h \
+ ldap_key_seq.c
asn1_misc.so asn1_misc.po $(OUTPRE)asn1_misc.$(OBJEXT): \
$(BUILDTOP)/include/autoconf.h $(BUILDTOP)/include/krb5/krb5.h \
$(BUILDTOP)/include/osconf.h $(BUILDTOP)/include/profile.h \
Modified: trunk/src/lib/krb5/asn.1/ldap_key_seq.c
===================================================================
--- trunk/src/lib/krb5/asn.1/ldap_key_seq.c 2012-02-11 23:25:04 UTC (rev 25687)
+++ trunk/src/lib/krb5/asn.1/ldap_key_seq.c 2012-02-11 23:25:08 UTC (rev 25688)
@@ -38,7 +38,6 @@
#include "krbasn1.h"
#include "asn1_encode.h"
#include "asn1_decode.h"
-#include "asn1_make.h"
#include "asn1_get.h"
#ifdef ENABLE_LDAP
More information about the cvs-krb5
mailing list