make encoding function independent of krb4 and krb5, enable removal of krb4

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@20452 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Love Hörnquist Åstrand
2007-04-19 20:04:19 +00:00
parent 40d8ff7afa
commit 9d0c063d77
4 changed files with 24 additions and 32 deletions

View File

@@ -779,10 +779,8 @@ suspicious_address (int sock, struct sockaddr *addr)
* libkrb5 either.
*/
#ifndef KRB4
int
krb_get_int(void *f, uint32_t *to, int size, int lsb)
kx_get_int(void *f, uint32_t *to, int size, int lsb)
{
int i;
unsigned char *from = (unsigned char *)f;
@@ -799,7 +797,7 @@ krb_get_int(void *f, uint32_t *to, int size, int lsb)
}
int
krb_put_int(uint32_t from, void *to, size_t rem, int size)
kx_put_int(uint32_t from, void *to, size_t rem, int size)
{
int i;
unsigned char *p = (unsigned char *)to;
@@ -813,5 +811,3 @@ krb_put_int(uint32_t from, void *to, size_t rem, int size)
}
return size;
}
#endif /* !KRB4 */

View File

@@ -227,7 +227,7 @@ doit_passive (kx_context *kc)
p = msg;
*p++ = INIT;
len = strlen(kc->user);
p += KRB_PUT_INT (len, p, sizeof(msg) - 1, 4);
p += kx_put_int (len, p, sizeof(msg) - 1, 4);
memcpy(p, kc->user, len);
p += len;
*p++ = PASSIVE | (kc->keepalive_flag ? KEEP_ALIVE : 0);
@@ -242,18 +242,18 @@ doit_passive (kx_context *kc)
p = (u_char *)msg;
if (*p == ERROR) {
p++;
p += krb_get_int (p, &tmp, 4, 0);
p += kx_get_int (p, &tmp, 4, 0);
errx (1, "%s: %.*s", host, (int)tmp, p);
} else if (*p != ACK) {
errx (1, "%s: strange msg %d", host, *p);
} else
p++;
p += krb_get_int (p, &tmp, 4, 0);
p += kx_get_int (p, &tmp, 4, 0);
memcpy(display, p, tmp);
display[tmp] = '\0';
p += tmp;
p += krb_get_int (p, &tmp, 4, 0);
p += kx_get_int (p, &tmp, 4, 0);
memcpy(xauthfile, p, tmp);
xauthfile[tmp] = '\0';
p += tmp;
@@ -271,13 +271,13 @@ doit_passive (kx_context *kc)
p = (u_char *)msg;
if (*p == ERROR) {
p++;
p += krb_get_int (p, &tmp, 4, 0);
p += kx_get_int (p, &tmp, 4, 0);
errx (1, "%s: %.*s", host, (int)tmp, p);
} else if(*p != NEW_CONN) {
errx (1, "%s: strange msg %d", host, *p);
} else {
p++;
p += krb_get_int (p, &tmp, 4, 0);
p += kx_get_int (p, &tmp, 4, 0);
}
++nchild;
@@ -372,7 +372,7 @@ doit_active (kx_context *kc)
*p++ = INIT;
--rem;
len = strlen(kc->user);
tmp = KRB_PUT_INT (len, p, rem, 4);
tmp = kx_put_int (len, p, rem, 4);
if (tmp < 0)
return 1;
p += tmp;
@@ -387,7 +387,7 @@ doit_active (kx_context *kc)
if (str == NULL || (str = strchr(str, ':')) == NULL)
str = ":0";
len = strlen (str);
tmp = KRB_PUT_INT (len, p, rem, 4);
tmp = kx_put_int (len, p, rem, 4);
if (tmp < 0)
return 1;
rem -= tmp;
@@ -400,7 +400,7 @@ doit_active (kx_context *kc)
if (str == NULL)
str = "";
len = strlen (str);
tmp = KRB_PUT_INT (len, p, rem, 4);
tmp = kx_put_int (len, p, rem, 4);
if (tmp < 0)
return 1;
p += len;
@@ -420,7 +420,7 @@ doit_active (kx_context *kc)
uint32_t u32;
p++;
p += krb_get_int (p, &u32, 4, 0);
p += kx_get_int (p, &u32, 4, 0);
errx (1, "%s: %.*s", host, (int)u32, p);
} else if (*p != ACK) {
errx (1, "%s: strange msg %d", host, *p);
@@ -481,13 +481,13 @@ doit_active (kx_context *kc)
uint32_t val;
p++;
p += krb_get_int (p, &val, 4, 0);
p += kx_get_int (p, &val, 4, 0);
errx (1, "%s: %.*s", host, (int)val, p);
} else if (*p != NEW_CONN) {
errx (1, "%s: strange msg %d", host, *p);
} else {
p++;
p += krb_get_int (p, &other_port, 4, 0);
p += kx_get_int (p, &other_port, 4, 0);
}
++nchild;

View File

@@ -256,12 +256,8 @@ __attribute__ ((format (printf, 3, 4)))
#endif
;
#ifndef KRB4
int
kx_get_int(void *f, uint32_t *to, int size, int lsb);
int
krb_get_int(void *f, uint32_t *to, int size, int lsb);
int
krb_put_int(uint32_t from, void *to, size_t rem, int size);
#endif
kx_put_int(uint32_t from, void *to, size_t rem, int size);

View File

@@ -75,7 +75,7 @@ fatal (kx_context *kc, int fd, char *format, ...)
vsnprintf ((char *)p + 4, sizeof(msg) - 5, format, args);
syslog (LOG_ERR, "%s", (char *)p + 4);
len = strlen ((char *)p + 4);
p += KRB_PUT_INT (len, p, 4, 4);
p += kx_put_int (len, p, 4, 4);
p += len;
kx_write (kc, fd, msg, p - msg);
va_end(args);
@@ -174,7 +174,7 @@ recv_conn (int sock, kx_context *kc,
if (*p != INIT)
fatal(kc, sock, "Bad message");
p++;
p += krb_get_int (p, &tmp32, 4, 0);
p += kx_get_int (p, &tmp32, 4, 0);
len = min(sizeof(user), tmp32);
memcpy (user, p, len);
p += tmp32;
@@ -242,12 +242,12 @@ recv_conn (int sock, kx_context *kc,
kc->user, user);
umask(077);
if (!(flags & PASSIVE)) {
p += krb_get_int (p, &tmp32, 4, 0);
p += kx_get_int (p, &tmp32, 4, 0);
len = min(tmp32, display_size);
memcpy (display, p, len);
display[len] = '\0';
p += tmp32;
p += krb_get_int (p, &tmp32, 4, 0);
p += kx_get_int (p, &tmp32, 4, 0);
len = min(tmp32, xauthfile_size);
memcpy (xauthfile, p, len);
xauthfile[len] = '\0';
@@ -350,7 +350,7 @@ doit_conn (kx_context *kc,
p = msg;
*p++ = NEW_CONN;
p += KRB_PUT_INT (ntohs(port), p, 4, 4);
p += kx_put_int (ntohs(port), p, 4, 4);
if (kx_write (kc, meta_sock, msg, p - msg) < 0) {
syslog (LOG_ERR, "write: %m");
@@ -468,7 +468,7 @@ doit_passive (kx_context *kc,
--rem;
len = strlen (display);
tmp = KRB_PUT_INT (len, p, rem, 4);
tmp = kx_put_int (len, p, rem, 4);
if (tmp < 0 || rem < len + 4) {
syslog (LOG_ERR, "doit: buffer too small");
cleanup(nsockets, sockets);
@@ -482,7 +482,7 @@ doit_passive (kx_context *kc,
rem -= len;
len = strlen (xauthfile);
tmp = KRB_PUT_INT (len, p, rem, 4);
tmp = kx_put_int (len, p, rem, 4);
if (tmp < 0 || rem < len + 4) {
syslog (LOG_ERR, "doit: buffer too small");
cleanup(nsockets, sockets);