[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[SCM] GNU Inetutils branch, master, updated. inetutils-1_9_1-16-g4e82f2
From: |
Mats Erik Andersson |
Subject: |
[SCM] GNU Inetutils branch, master, updated. inetutils-1_9_1-16-g4e82f22 |
Date: |
Tue, 31 Jan 2012 11:58:26 +0000 |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Inetutils ".
The branch, master has been updated
via 4e82f22597c920531e070443ed32bd0e66b30024 (commit)
from f5bef4df8f689ddebf9eae756117812e7809115c (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://git.savannah.gnu.org/cgit/inetutils.git/commit/?id=4e82f22597c920531e070443ed32bd0e66b30024
commit 4e82f22597c920531e070443ed32bd0e66b30024
Author: Mats Erik Andersson <address@hidden>
Date: Tue Jan 31 12:54:14 2012 +0100
libtelnet: Portability of macros.
Solaris is defining a variant set of macros
in <arpa/telnet.h>; some of alternate names,
and some otherwise standard macros.
diff --git a/ChangeLog b/ChangeLog
index 2b80687..f2830b2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,29 @@
2012-01-31 Mats Erik Andersson <address@hidden>
+ * libinetutils/kcmd.c: Include <fcntl.h>.
+ * libtelnet/auth.h [!AUTH_REJECT] (AUTH_REJECT): Protect `#define'.
+ [!AUTH_UNKNOWN] (AUTH_UNKNOWN): Likewise.
+ [!AUTH_OTHER] (AUTH_OTHER): Likewise.
+ [!AUTH_USER] (AUTH_USER): Likewise.
+ [!AUTH_VALID] (AUTH_VALID): Likewise.
+ * libtelnet/enc_des.c [ENCTYPE_DES_OFB64] (ofb64_init, ofb64_start)
+ (ofb64_is, ofb64_reply, ofb64_session, ofb64_keyid, ofb64_printsub)
+ (ofb64_encrypt, ofb64_decrypt): Protect definitions.
+ * libtelnet/encrypt.c [ENCTYPE_DES_OFB64] (i_support_encrypt)
+ (i_support_decrypt): Add ENCTYPE_DES_OFB64 only if existing,
+ otherwise only ENCTYPE_DES_CFB64.
+ (encryptions) [ENCTYPE_DES_OFB64]: Conditional use of OFB64 calls.
+ * libtelnet/encrypt.h [!ENCTYPE_ANY && TELOPT_ENCTYPE_NULL]
+ (ENCTYPE_ANY): Use alternate macro.
+ [!ENCTYPE_DES_CFB64 && TELOPT_ENCTYPE_DES_CFB64]
+ (ENCTYPE_DES_CFB64): Likewise
+ [!ENCTYPE_DES_OFB64 && TELOPT_ENCTYPE_DES_OFB64]
+ (ENCTYPE_DES_OFB64): Likewise.
+ [!ENCTYPE_CNT && TELOPT_ENCTYPE_CNT] (ENCTYPE_CNT): Likewise.
+ [!VALIDKEY] (VALIDKEY): Protect `#define'.
+
+2012-01-31 Mats Erik Andersson <address@hidden>
+
* src/tftp.c (resolve_name): Do not use AI_ADDRCONFIG at all.
Assign HOSTNAME with `ai->ai_canonname' only if it has contents,
otherwise assign `<dummy>', which is very unlikely.
diff --git a/libinetutils/kcmd.c b/libinetutils/kcmd.c
index c100af7..778edd7 100644
--- a/libinetutils/kcmd.c
+++ b/libinetutils/kcmd.c
@@ -55,6 +55,7 @@
# include <sys/file.h>
# include <sys/socket.h>
# include <sys/stat.h>
+# include <fcntl.h>
# include <netinet/in.h>
# include <arpa/inet.h>
diff --git a/libtelnet/auth.h b/libtelnet/auth.h
index 4047d2c..4c8474a 100644
--- a/libtelnet/auth.h
+++ b/libtelnet/auth.h
@@ -70,11 +70,22 @@
#ifndef __AUTH__
# define __AUTH__
-# define AUTH_REJECT 0 /* Rejected */
-# define AUTH_UNKNOWN 1 /* We don't know who he is, but he's okay */
-# define AUTH_OTHER 2 /* We know him, but not his name */
-# define AUTH_USER 3 /* We know he name */
-# define AUTH_VALID 4 /* We know him, and he needs no password */
+/* These might be defined in <arpa/telnet.h>. */
+# ifndef AUTH_REJECT
+# define AUTH_REJECT 0 /* Rejected */
+# endif
+# ifndef AUTH_UNKNOWN
+# define AUTH_UNKNOWN 1 /* We don't know who he is, but he's okay */
+# endif
+# ifndef AUTH_OTHER
+# define AUTH_OTHER 2 /* We know him, but not his name */
+# endif
+# ifndef AUTH_USER
+# define AUTH_USER 3 /* We know the name */
+# endif
+# ifndef AUTH_VALID
+# define AUTH_VALID 4 /* We know him, and he needs no password */
+# endif
typedef struct XauthP
{
diff --git a/libtelnet/enc_des.c b/libtelnet/enc_des.c
index 1a5dea8..695b532 100644
--- a/libtelnet/enc_des.c
+++ b/libtelnet/enc_des.c
@@ -167,6 +167,7 @@ cfb64_init (server)
fb[CFB].streams[1].str_flagshift = SHIFT_VAL (1, CFB);
}
+# ifdef ENCTYPE_DES_OFB64
void
ofb64_init (server)
int server;
@@ -176,6 +177,7 @@ ofb64_init (server)
fb[CFB].streams[0].str_flagshift = SHIFT_VAL (0, OFB);
fb[CFB].streams[1].str_flagshift = SHIFT_VAL (1, OFB);
}
+# endif /* ENCTYPE_DES_OFB64 */
void
fb64_init (fbp)
@@ -205,6 +207,7 @@ cfb64_start (dir, server)
return (fb64_start (&fb[CFB], dir, server));
}
+# ifdef ENCTYPE_DES_OFB64
int
ofb64_start (dir, server)
int dir;
@@ -212,6 +215,7 @@ ofb64_start (dir, server)
{
return (fb64_start (&fb[OFB], dir, server));
}
+# endif /* ENCTYPE_DES_OFB64 */
static int
fb64_start (fbp, dir, server)
@@ -298,6 +302,7 @@ cfb64_is (data, cnt)
return (fb64_is (data, cnt, &fb[CFB]));
}
+# ifdef ENCTYPE_DES_OFB64
int
ofb64_is (data, cnt)
unsigned char *data;
@@ -305,6 +310,7 @@ ofb64_is (data, cnt)
{
return (fb64_is (data, cnt, &fb[OFB]));
}
+# endif /* ENCTYPE_DES_OFB64 */
int
fb64_is (data, cnt, fbp)
@@ -393,6 +399,7 @@ cfb64_reply (data, cnt)
return (fb64_reply (data, cnt, &fb[CFB]));
}
+# ifdef ENCTYPE_DES_OFB64
int
ofb64_reply (data, cnt)
unsigned char *data;
@@ -400,6 +407,7 @@ ofb64_reply (data, cnt)
{
return (fb64_reply (data, cnt, &fb[OFB]));
}
+# endif /* ENCTYPE_DES_OFB64 */
int
@@ -455,6 +463,7 @@ cfb64_session (key, server)
fb64_session (key, server, &fb[CFB]);
}
+# ifdef ENCTYPE_DES_OFB64
void
ofb64_session (key, server)
Session_Key *key;
@@ -462,6 +471,7 @@ ofb64_session (key, server)
{
fb64_session (key, server, &fb[OFB]);
}
+# endif /* ENCTYPE_DES_OFB64 */
static void
fb64_session (key, server, fbp)
@@ -517,6 +527,7 @@ cfb64_keyid (dir, kp, lenp)
return (fb64_keyid (dir, kp, lenp, &fb[CFB]));
}
+# ifdef ENCTYPE_DES_OFB64
int
ofb64_keyid (dir, kp, lenp)
int dir, *lenp;
@@ -524,6 +535,7 @@ ofb64_keyid (dir, kp, lenp)
{
return (fb64_keyid (dir, kp, lenp, &fb[OFB]));
}
+# endif /* ENCTYPE_DES_OFB64 */
int
fb64_keyid (dir, kp, lenp, fbp)
@@ -600,6 +612,7 @@ cfb64_printsub (data, cnt, buf, buflen)
fb64_printsub (data, cnt, buf, buflen, "CFB64");
}
+# ifdef ENCTYPE_DES_OFB64
void
ofb64_printsub (data, cnt, buf, buflen)
unsigned char *data, *buf;
@@ -607,6 +620,7 @@ ofb64_printsub (data, cnt, buf, buflen)
{
fb64_printsub (data, cnt, buf, buflen, "OFB64");
}
+# endif /* ENCTYPE_DES_OFB64 */
void
fb64_stream_iv (seed, stp)
@@ -750,6 +764,7 @@ cfb64_decrypt (data)
* V(n+1) = DES(Vn, key)
* On = Dn ^ Vn
*/
+# ifdef ENCTYPE_DES_OFB64
void
ofb64_encrypt (s, c)
register unsigned char *s;
@@ -764,12 +779,12 @@ ofb64_encrypt (s, c)
if (index == sizeof (Block))
{
Block b;
-# ifdef SHISHI
+# ifdef SHISHI
shishi_des_ecb_encrypt (shishi_handle, fb[OFB].krbdes_key,
stp->str_feed, b);
-# else
+# else
des_ecb_encrypt (stp->str_feed, b, stp->str_sched, 1);
-# endif
+# endif
memmove ((void *) stp->str_feed, (void *) b, sizeof (Block));
index = 0;
}
@@ -802,12 +817,12 @@ ofb64_decrypt (data)
if (index == sizeof (Block))
{
Block b;
-# ifdef SHISHI
+# ifdef SHISHI
shishi_des_ecb_encrypt (shishi_handle, fb[OFB].krbdes_key,
stp->str_feed, b);
-# else
+# else
des_ecb_encrypt (stp->str_feed, b, stp->str_sched, 1);
-# endif
+# endif
memmove ((void *) stp->str_feed, (void *) b, sizeof (Block));
stp->str_index = 1; /* Next time will be 1 */
index = 0; /* But now use 0 */
@@ -815,6 +830,7 @@ ofb64_decrypt (data)
return (data ^ stp->str_feed[index]);
}
+# endif /* ENCTYPE_DES_OFB64 */
# endif /* DES_ENCRYPTION */
# endif /* AUTHENTICATION */
#endif /* ENCRYPTION */
diff --git a/libtelnet/encrypt.c b/libtelnet/encrypt.c
index 68b06f6..f28c2dd 100644
--- a/libtelnet/encrypt.c
+++ b/libtelnet/encrypt.c
@@ -105,8 +105,15 @@ static char *Name = "Noname";
# define typemask(x) ((x) > 0 ? 1 << ((x)-1) : 0)
+/* Only the type ENCTYPE_DES_CFB64 seems universal. */
+# ifdef ENCTYPE_DES_OFB64
static long i_support_encrypt = typemask (ENCTYPE_DES_CFB64) | typemask
(ENCTYPE_DES_OFB64);
static long i_support_decrypt = typemask (ENCTYPE_DES_CFB64) | typemask
(ENCTYPE_DES_OFB64);
+# else /* !ENCTYPE_DES_OFB64 */
+static long i_support_encrypt = typemask (ENCTYPE_DES_CFB64);
+static long i_support_decrypt = typemask (ENCTYPE_DES_CFB64);
+# endif /* !ENCTYPE_DES_OFB64 */
+
static long i_wont_support_encrypt = 0;
static long i_wont_support_decrypt = 0;
# define I_SUPPORT_ENCRYPT (i_support_encrypt & ~i_wont_support_encrypt)
@@ -127,6 +134,7 @@ static Encryptions encryptions[] = {
cfb64_session,
cfb64_keyid,
cfb64_printsub},
+# ifdef ENCTYPE_DES_OFB64
{"DES_OFB64", ENCTYPE_DES_OFB64,
ofb64_encrypt,
ofb64_decrypt,
@@ -137,6 +145,7 @@ static Encryptions encryptions[] = {
ofb64_session,
ofb64_keyid,
ofb64_printsub},
+# endif /* ENCTYPE_DES_OFB64 */
# endif /* DES_ENCRYPTION */
{0,},
};
diff --git a/libtelnet/encrypt.h b/libtelnet/encrypt.h
index 0585aed..fd9788c 100644
--- a/libtelnet/encrypt.h
+++ b/libtelnet/encrypt.h
@@ -74,6 +74,20 @@
# define DIR_DECRYPT 1
# define DIR_ENCRYPT 2
+/* Cope with variants of <arpa/telnet.h>. */
+# if !defined ENCTYPE_ANY && defined TELOPT_ENCTYPE_NULL
+# define ENCTYPE_ANY TELOPT_ENCTYPE_NULL
+# endif
+# if !defined ENCTYPE_DES_CFB64 && defined TELOPT_ENCTYPE_DES_CFB64
+# define ENCTYPE_DES_CFB64 TELOPT_ENCTYPE_DES_CFB64
+# endif
+# if !defined ENCTYPE_DES_OFB64 && defined TELOPT_ENCTYPE_DES_OFB64
+# define ENCTYPE_DES_OFB64 TELOPT_ENCTYPE_DES_OFB64
+# endif
+# if !defined ENCTYPE_CNT && defined TELOPT_ENCTYPE_CNT
+# define ENCTYPE_CNT TELOPT_ENCTYPE_CNT
+# endif
+
typedef unsigned char Block[8];
typedef unsigned char *BlockT;
typedef struct
@@ -81,8 +95,10 @@ typedef struct
Block _;
} Schedule[16];
-# define VALIDKEY(key) ( key[0] | key[1] | key[2] | key[3] | \
- key[4] | key[5] | key[6] | key[7])
+# ifndef VALIDKEY
+# define VALIDKEY(key) ( key[0] | key[1] | key[2] | key[3] | \
+ key[4] | key[5] | key[6] | key[7])
+# endif
# define SAMEKEY(k1, k2) (!memcmp ((void *) k1, (void *) k2, sizeof
(Block)))
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 24 ++++++++++++++++++++++++
libinetutils/kcmd.c | 1 +
libtelnet/auth.h | 21 ++++++++++++++++-----
libtelnet/enc_des.c | 28 ++++++++++++++++++++++------
libtelnet/encrypt.c | 9 +++++++++
libtelnet/encrypt.h | 20 ++++++++++++++++++--
6 files changed, 90 insertions(+), 13 deletions(-)
hooks/post-receive
--
GNU Inetutils
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [SCM] GNU Inetutils branch, master, updated. inetutils-1_9_1-16-g4e82f22,
Mats Erik Andersson <=