Updated Branches:
  refs/heads/3.2.x e70f5773c -> 0d9582b67

TS-1785 Fixes to make it build with gcc-4.8, but still needs TS-1787 as well


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/0d9582b6
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/0d9582b6
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/0d9582b6

Branch: refs/heads/3.2.x
Commit: 0d9582b679f4f8ec6533a897f84b1510fb6cbc94
Parents: e70f577
Author: Leif Hedstrom <[email protected]>
Authored: Thu May 16 14:57:54 2013 -0600
Committer: Leif Hedstrom <[email protected]>
Committed: Thu May 16 14:57:54 2013 -0600

----------------------------------------------------------------------
 CHANGES                      |    2 ++
 STATUS                       |    8 --------
 lib/tsconfig/TsErrataUtil.cc |    5 +++--
 lib/wccp/WccpLocal.h         |   10 ----------
 lib/wccp/WccpStatic.cc       |    6 ++++--
 mgmt/api/INKMgmtAPI.cc       |    4 ++--
 mgmt/tools/ConfigAPI.cc      |   27 ++-------------------------
 mgmt/tools/ConfigAPI.h       |    4 ----
 mgmt/tools/SysAPI.cc         |   37 -------------------------------------
 mgmt/tools/SysAPI.h          |    4 ----
 proxy/Main.cc                |    3 ++-
 proxy/logging/LogAccess.cc   |    5 +----
 12 files changed, 16 insertions(+), 99 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/0d9582b6/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index a405c1b..0b28c7a 100644
--- a/CHANGES
+++ b/CHANGES
@@ -2,6 +2,8 @@
 Changes with Apache Traffic Server 3.2.5
 
 
+  *) [TS-1785] Fixes to make it build with gcc-4.8.x.
+
   *) [TS-1903] Remove JEMALLOC_P use, it seems to have been deprecated.
 
   *) [TS-1902] Remove iconv as dependency.

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/0d9582b6/STATUS
----------------------------------------------------------------------
diff --git a/STATUS b/STATUS
index 3bd3397..a59ff52 100644
--- a/STATUS
+++ b/STATUS
@@ -47,14 +47,6 @@ PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
   Patch: 5566ac76d6c4e4f5154421f1ac1077487b02d332
   +1: igalic, zwoop [I double checked with John too], jpeach
 
-  Fix gcc-4.8 build problems
-  Jira: https://issues.apache.org/jira/browse/TS-1785
-  Patch: dccdd5a44, 2bee0a2f0, dccdd5a44, b4d4f4a9a,
-         deb8253a, 44fff1b91
-  (Patches do not apply cleanly, there is a merge conflict resolving patch in
-  https://issues.apache.org/jira/secure/attachment/12572264/TS-1714.diff)
-  +1: zwoop, arno, jpeach
-
   Fix SSL accept performance regression
   Jira: https://issues.apache.org/jira/browse/TS-1538
   Patch: ccc4b37b91f25c2e985f195b77369ce20e2e8e81

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/0d9582b6/lib/tsconfig/TsErrataUtil.cc
----------------------------------------------------------------------
diff --git a/lib/tsconfig/TsErrataUtil.cc b/lib/tsconfig/TsErrataUtil.cc
index d1d387d..a234dcf 100644
--- a/lib/tsconfig/TsErrataUtil.cc
+++ b/lib/tsconfig/TsErrataUtil.cc
@@ -126,7 +126,8 @@ Errata
 log_errno(Errata::Code code, char const* text) {
   static size_t const SIZE = 1024;
   char buffer[SIZE];
-  return logf(code, "%s [%d] %s", text, errno, strerror_r(errno, buffer, 
SIZE));
+  NOWARN_UNUSED_RETURN(strerror_r(errno, buffer, SIZE));
+  return logf(code, "%s [%d] %s", text, errno, buffer);
 }
 
 Errata
@@ -140,7 +141,7 @@ vlogf_errno(Errata& errata, Errata::Id id, Errata::Code 
code, char const* format
   
   n = vsnprintf(t_buffer, T_SIZE, format, rest);
   if (0 <= n && n < T_SIZE) { // still have room.
-    strerror_r(e, e_buffer, E_SIZE);
+    NOWARN_UNUSED_RETURN(strerror_r(e, e_buffer, E_SIZE));
     n += snprintf(t_buffer + n, T_SIZE - n, "[%d] %s", e, e_buffer);
   }
   errata.push(id, code, t_buffer);

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/0d9582b6/lib/wccp/WccpLocal.h
----------------------------------------------------------------------
diff --git a/lib/wccp/WccpLocal.h b/lib/wccp/WccpLocal.h
index b8a83ea..e20ad4b 100644
--- a/lib/wccp/WccpLocal.h
+++ b/lib/wccp/WccpLocal.h
@@ -1565,12 +1565,6 @@ public:
   Bucket const& bucket(
     int idx ///< Index of target bucket.
   ) const;
-  /** Compare a set of buckets.
-      @return @c true if the buckets are the same, @c false otherwise.
-  */
-  bool compare(
-    Bucket const buckets[N_BUCKETS] ///< Buckets to compare.
-  ) const;
   //@}
 
   /// Fill out the component from an @c Assignment.
@@ -3456,10 +3450,6 @@ CompWithHeader<T>::checkHeader(MsgBuffer const& buffer, 
CompType ect) {
 
 inline AssignInfoComp::Bucket& AssignInfoComp::bucket(int idx) { return 
m_buckets[idx]; }
 inline AssignInfoComp::Bucket const& AssignInfoComp::bucket(int idx) const{ 
return m_buckets[idx]; }
-inline bool AssignInfoComp::compare(Bucket const buckets[N_BUCKETS]) const {
-  return 0 == memcmp(buckets, m_buckets, sizeof(buckets));
-}
-
 inline RouterViewComp::RouterViewComp()
   : m_cache_count(0) {
   memset(m_cache_ids, 0, sizeof(m_cache_ids));

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/0d9582b6/lib/wccp/WccpStatic.cc
----------------------------------------------------------------------
diff --git a/lib/wccp/WccpStatic.cc b/lib/wccp/WccpStatic.cc
index 3030601..83444b9 100644
--- a/lib/wccp/WccpStatic.cc
+++ b/lib/wccp/WccpStatic.cc
@@ -22,6 +22,7 @@
 
 # include "WccpLocal.h"
 # include "WccpMeta.h"
+# include "ink_error.h"
 # include <sys/ioctl.h>
 # include <sys/socket.h>
 # include <net/if.h>
@@ -147,7 +148,8 @@ ts::Errata
 log_errno(ts::Errata::Code code, char const* text) {
   static size_t const SIZE = 1024;
   char buffer[SIZE];
-  return logf(code, "%s [%d] %s", text, errno, strerror_r(errno, buffer, 
SIZE));
+  NOWARN_UNUSED_RETURN(strerror_r(errno, buffer, SIZE));
+  return logf(code, "%s [%d] %s", text, errno, buffer);
 }
 
 ts::Errata
@@ -162,7 +164,7 @@ vlogf_errno(ts::Errata::Code code, char const* format, 
va_list& rest) {
   
   n = vsnprintf(t_buffer, T_SIZE, format, rest);
   if (0 <= n && n < T_SIZE) { // still have room.
-    strerror_r(e, e_buffer, E_SIZE);
+    NOWARN_UNUSED_RETURN(strerror_r(e, e_buffer, E_SIZE));
     n += snprintf(t_buffer + n, T_SIZE - n, "[%d] %s", e, e_buffer);
   }
   err.push(ts::Errata::Id(0), code, t_buffer);

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/0d9582b6/mgmt/api/INKMgmtAPI.cc
----------------------------------------------------------------------
diff --git a/mgmt/api/INKMgmtAPI.cc b/mgmt/api/INKMgmtAPI.cc
index d1f5fa0..432f952 100644
--- a/mgmt/api/INKMgmtAPI.cc
+++ b/mgmt/api/INKMgmtAPI.cc
@@ -2435,8 +2435,8 @@ closeAllFds()
   //           to root
   if (getuid() != 0) {          // if not super user, need to upgrade to root
     //printf("before upgrade:current uid%d, euid %d\n", getuid(), geteuid()); 
fflush(stdout);
-    seteuid(0);
-    setreuid(0, 0);
+    if(seteuid(0) != 0 || setreuid(0, 0) != 0)
+      perror("[closeAllFds] unable to restore root privilege.");
     //printf("after upgrade:current uid %d, euid %d\n", getuid(), geteuid()); 
fflush(stdout);
   }
 

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/0d9582b6/mgmt/tools/ConfigAPI.cc
----------------------------------------------------------------------
diff --git a/mgmt/tools/ConfigAPI.cc b/mgmt/tools/ConfigAPI.cc
index 67e0bb9..1639d92 100644
--- a/mgmt/tools/ConfigAPI.cc
+++ b/mgmt/tools/ConfigAPI.cc
@@ -636,30 +636,6 @@ Config_SetNTP_Off(void)
   return Time_SetNTP_Off();
 }
 
-int
-Config_User_Root(int *old_euid)
-{
-  return Sys_User_Root(old_euid);
-}
-
-int
-Config_User_Inktomi(int euid)
-{
-  return Sys_User_Inktomi(euid);
-}
-
-int
-Config_Grp_Root(int *old_egid)
-{
-  return Sys_Grp_Root(old_egid);
-}
-
-int
-Config_Grp_Inktomi(int egid)
-{
-  return Sys_Grp_Inktomi(egid);
-}
-
 #if defined(linux)
 int
 Config_DisableInterface(char *eth)
@@ -831,7 +807,8 @@ Config_RestoreNetConfig(char *file)
     ats_free(TagValue);
   }
 
-  setreuid(old_euid, old_euid); //happens only for floppy config
+  if(setreuid(old_euid, old_euid) != 0)
+    perror("Config_RestoreNetConfig set old uid failed: "); //happens only for 
floppy config
   return 0;
 }
 

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/0d9582b6/mgmt/tools/ConfigAPI.h
----------------------------------------------------------------------
diff --git a/mgmt/tools/ConfigAPI.h b/mgmt/tools/ConfigAPI.h
index 62da925..00303b1 100644
--- a/mgmt/tools/ConfigAPI.h
+++ b/mgmt/tools/ConfigAPI.h
@@ -85,9 +85,5 @@ extern int Config_GetXmlTagValue(char *XmlTagName, char 
**XmlTagValue, char *Xml
 extern int Config_SetSMTP_Server(char *server);
 extern int Config_GetSMTP_Server(char *server);
 extern int Config_FloppyNetRestore();
-extern int Config_User_Root(int *old_euid);
-extern int Config_User_Inktomi(int euid);
-extern int Config_Grp_Root(int *old_egid);
-extern int Config_Grp_Inktomi(int egid);
 extern int Config_DisableInterface(char *eth);
 #endif // _CONFIG_API_H

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/0d9582b6/mgmt/tools/SysAPI.cc
----------------------------------------------------------------------
diff --git a/mgmt/tools/SysAPI.cc b/mgmt/tools/SysAPI.cc
index 5dd9498..37f80b6 100644
--- a/mgmt/tools/SysAPI.cc
+++ b/mgmt/tools/SysAPI.cc
@@ -1184,43 +1184,6 @@ Net_DisableInterface(char *interface)
 
 #endif /* linux */
 
-int
-Sys_User_Root(int *old_euid)
-{
-
-  *old_euid = getuid();
-  seteuid(0);
-  setreuid(0, 0);
-
-  return 0;
-}
-
-int
-Sys_User_Inktomi(int euid)
-{
-// bug 50394 - preserve saved uid as root,
-//             while changing effiective and real uid to input parameter value
-  setreuid(euid, 0);
-  seteuid(euid);
-  return 0;
-}
-
-int
-Sys_Grp_Root(int *old_egid)
-{
-  *old_egid = getegid();
-  setregid(0, *old_egid);
-  return 0;
-}
-
-int
-Sys_Grp_Inktomi(int egid)
-{
-  setregid(egid, egid);
-  return 0;
-}
-
-
 
 
 bool

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/0d9582b6/mgmt/tools/SysAPI.h
----------------------------------------------------------------------
diff --git a/mgmt/tools/SysAPI.h b/mgmt/tools/SysAPI.h
index 3417518..aead11c 100644
--- a/mgmt/tools/SysAPI.h
+++ b/mgmt/tools/SysAPI.h
@@ -74,10 +74,6 @@ extern int Time_GetNTP_Status(char *status, size_t 
status_len);
 extern int Time_SetNTP_Off(void);
 extern int Net_GetSMTP_Server(char *server);
 extern int Net_SetSMTP_Server(char *server);
-extern int Sys_User_Root(int *old_euid);
-extern int Sys_User_Inktomi(int euid);
-extern int Sys_Grp_Root(int *old_egid);
-extern int Sys_Grp_Inktomi(int egid);
 extern int Net_DisableInterface(char *interface);
 
 #endif // _SYS_API_H

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/0d9582b6/proxy/Main.cc
----------------------------------------------------------------------
diff --git a/proxy/Main.cc b/proxy/Main.cc
index 90337c9..c347da1 100644
--- a/proxy/Main.cc
+++ b/proxy/Main.cc
@@ -1310,7 +1310,8 @@ change_uid_gid(const char *user)
 
   char *buf = (char *)ats_malloc(buflen);
 
-  if (0 != geteuid() && 0 == getuid()) seteuid(0); // revert euid if possible.
+  if (0 != geteuid() && 0 == getuid())
+    NOWARN_UNUSED_RETURN(seteuid(0)); // revert euid if possible.
   if (0 != geteuid()) {
     // Not root so can't change user ID. Logging isn't operational yet so
     // we have to write directly to stderr. Perhaps this should be fatal?

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/0d9582b6/proxy/logging/LogAccess.cc
----------------------------------------------------------------------
diff --git a/proxy/logging/LogAccess.cc b/proxy/logging/LogAccess.cc
index 4a0b106..44c0cfa 100644
--- a/proxy/logging/LogAccess.cc
+++ b/proxy/logging/LogAccess.cc
@@ -658,10 +658,7 @@ LogAccess::marshal_record(char *record, char *buf)
 #define LOG_FLOAT   RECD_FLOAT
 #define LOG_STRING  RECD_STRING
 
-  typedef RecInt LogInt;
-  typedef RecCounter LogCounter;
   typedef RecFloat LogFloat;
-  typedef RecString LogString;
 
   RecDataT stype = RECD_NULL;
   bool found = false;
@@ -676,7 +673,7 @@ LogAccess::marshal_record(char *record, char *buf)
       // conversion below, if this ever changes we should modify
       // accordingly
       //
-      ink_debug_assert(sizeof(int64_t) >= sizeof(LogInt) && sizeof(int64_t) >= 
sizeof(LogCounter));
+      ink_debug_assert(sizeof(int64_t) >= sizeof(RecInt) && sizeof(int64_t) >= 
sizeof(RecCounter));
 
       // so that a 64 bit integer will fit (including sign and eos)
       //

Reply via email to