commit-inetutils
[Top][All Lists]
Advanced

[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 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]