Author: zwoop
Date: Fri Dec 30 20:21:04 2011
New Revision: 1225913

URL: http://svn.apache.org/viewvc?rev=1225913&view=rev
Log:
TS-992 Add OpenBSD support. Author: Piotr Sikora

Modified:
    trafficserver/traffic/trunk/CHANGES
    trafficserver/traffic/trunk/config.layout
    trafficserver/traffic/trunk/configure.ac
    trafficserver/traffic/trunk/cop/TrafficCop.cc
    trafficserver/traffic/trunk/iocore/cache/Store.cc
    trafficserver/traffic/trunk/lib/ts/ink_bool.h
    trafficserver/traffic/trunk/lib/ts/ink_memory.cc
    trafficserver/traffic/trunk/lib/ts/ink_resolver.h
    trafficserver/traffic/trunk/lib/ts/ink_thread.h
    trafficserver/traffic/trunk/lib/ts/ink_time.h
    trafficserver/traffic/trunk/mgmt/Main.cc
    trafficserver/traffic/trunk/mgmt/cli/ConfigCmd.cc
    trafficserver/traffic/trunk/mgmt/tools/ConfigAPI.cc
    trafficserver/traffic/trunk/mgmt/tools/SysAPI.cc
    trafficserver/traffic/trunk/proxy/CoreUtils.cc
    trafficserver/traffic/trunk/proxy/CoreUtils.h
    trafficserver/traffic/trunk/proxy/ICP.cc
    trafficserver/traffic/trunk/proxy/Main.cc
    trafficserver/traffic/trunk/proxy/http/remap/UrlRewrite.cc

Modified: trafficserver/traffic/trunk/CHANGES
URL: 
http://svn.apache.org/viewvc/trafficserver/traffic/trunk/CHANGES?rev=1225913&r1=1225912&r2=1225913&view=diff
==============================================================================
--- trafficserver/traffic/trunk/CHANGES (original)
+++ trafficserver/traffic/trunk/CHANGES Fri Dec 30 20:21:04 2011
@@ -1,5 +1,7 @@
                                                          -*- coding: utf-8 -*-
 Changes with Apache Traffic Server 3.1.2
+  *) [TS-992] Add OpenBSD support. Author: Piotr Sikora
+
   *) [TS-999] Deprecate TSUrlDestroy(), it's a no-op. Just make sure
    to release the marshal buffers as normal.
 

Modified: trafficserver/traffic/trunk/config.layout
URL: 
http://svn.apache.org/viewvc/trafficserver/traffic/trunk/config.layout?rev=1225913&r1=1225912&r2=1225913&view=diff
==============================================================================
--- trafficserver/traffic/trunk/config.layout (original)
+++ trafficserver/traffic/trunk/config.layout Fri Dec 30 20:21:04 2011
@@ -209,3 +209,23 @@
     logdir:        /var/log+
     cachedir:      /var/cache+
 </Layout>
+
+#   OpenBSD path layout.
+<Layout OpenBSD>
+    prefix:        /usr/local
+    exec_prefix:   ${prefix}
+    bindir:        ${exec_prefix}/bin
+    sbindir:       ${exec_prefix}/bin
+    libdir:        ${exec_prefix}/lib
+    libexecdir:    ${exec_prefix}/libexec+
+    infodir:       ${prefix}/info
+    mandir:        ${prefix}/man
+    sysconfdir:    /etc+
+    datadir:       ${prefix}/share+
+    installbuilddir: ${datadir}/build
+    includedir:    ${prefix}/include
+    localstatedir: /var+
+    runtimedir:    /var/run+
+    logdir:        /var/log+
+    cachedir:      ${localstatedir}/cache
+</Layout>

Modified: trafficserver/traffic/trunk/configure.ac
URL: 
http://svn.apache.org/viewvc/trafficserver/traffic/trunk/configure.ac?rev=1225913&r1=1225912&r2=1225913&view=diff
==============================================================================
--- trafficserver/traffic/trunk/configure.ac (original)
+++ trafficserver/traffic/trunk/configure.ac Fri Dec 30 20:21:04 2011
@@ -747,6 +747,9 @@ case $host_os in
   solaris*)
     host_os_def=solaris
     ;;
+  openbsd*)
+    host_os_def=openbsd
+    ;;
   *)
     EXTRA_CXX_LDFLAGS="-rdynamic"
     host_os_def=unknown

Modified: trafficserver/traffic/trunk/cop/TrafficCop.cc
URL: 
http://svn.apache.org/viewvc/trafficserver/traffic/trunk/cop/TrafficCop.cc?rev=1225913&r1=1225912&r2=1225913&view=diff
==============================================================================
--- trafficserver/traffic/trunk/cop/TrafficCop.cc (original)
+++ trafficserver/traffic/trunk/cop/TrafficCop.cc Fri Dec 30 20:21:04 2011
@@ -1940,7 +1940,7 @@ main(int argc, char *argv[])
   signal(SIGTTIN, SIG_IGN);
 
   setsid();                     // Important, thanks Vlad. :)
-#if defined(freebsd) && !defined(kfreebsd)
+#if (defined(freebsd) && !defined(kfreebsd)) || defined(openbsd)
   setpgrp(0,0);
 #else
   setpgrp();

Modified: trafficserver/traffic/trunk/iocore/cache/Store.cc
URL: 
http://svn.apache.org/viewvc/trafficserver/traffic/trunk/iocore/cache/Store.cc?rev=1225913&r1=1225912&r2=1225913&view=diff
==============================================================================
--- trafficserver/traffic/trunk/iocore/cache/Store.cc (original)
+++ trafficserver/traffic/trunk/iocore/cache/Store.cc Fri Dec 30 20:21:04 2011
@@ -367,7 +367,7 @@ Store::write_config_data(int fd)
   return 0;
 }
 
-#if defined(freebsd) || defined(darwin)
+#if defined(freebsd) || defined(darwin) || defined(openbsd)
 // TODO: Those are probably already included from the ink_platform.h
 #include <ctype.h>
 #include <sys/types.h>

Modified: trafficserver/traffic/trunk/lib/ts/ink_bool.h
URL: 
http://svn.apache.org/viewvc/trafficserver/traffic/trunk/lib/ts/ink_bool.h?rev=1225913&r1=1225912&r2=1225913&view=diff
==============================================================================
--- trafficserver/traffic/trunk/lib/ts/ink_bool.h (original)
+++ trafficserver/traffic/trunk/lib/ts/ink_bool.h Fri Dec 30 20:21:04 2011
@@ -38,8 +38,11 @@
 #if !defined (_ink_bool_h_)
 #define _ink_bool_h_
 
+#if defined(openbsd)
 
-#if !defined(linux)
+#include <stdbool.h>
+
+#elif !defined(linux)
 
 #if (defined (__GNUC__) || ! defined(__cplusplus))
 /*
@@ -60,7 +63,7 @@
 #endif
 
 #endif /* #if (defined (__GNUC__) || ! defined(__cplusplus)) */
-#endif // not linux
+#endif /* not openbsd, not linux */
 
 /*
  * TRUE and FALSE not declared in C++

Modified: trafficserver/traffic/trunk/lib/ts/ink_memory.cc
URL: 
http://svn.apache.org/viewvc/trafficserver/traffic/trunk/lib/ts/ink_memory.cc?rev=1225913&r1=1225912&r2=1225913&view=diff
==============================================================================
--- trafficserver/traffic/trunk/lib/ts/ink_memory.cc (original)
+++ trafficserver/traffic/trunk/lib/ts/ink_memory.cc Fri Dec 30 20:21:04 2011
@@ -100,6 +100,11 @@ ats_memalign(size_t alignment, size_t si
   if (alignment <= 8)
     return ats_malloc(size);
 
+#if defined(openbsd)
+  if (alignment > PAGE_SIZE)
+      alignment = PAGE_SIZE;
+#endif
+
 #if TS_HAS_JEMALLOC
   int retcode = JEMALLOC_P(posix_memalign)(&ptr, alignment, size);
 #else

Modified: trafficserver/traffic/trunk/lib/ts/ink_resolver.h
URL: 
http://svn.apache.org/viewvc/trafficserver/traffic/trunk/lib/ts/ink_resolver.h?rev=1225913&r1=1225912&r2=1225913&view=diff
==============================================================================
--- trafficserver/traffic/trunk/lib/ts/ink_resolver.h (original)
+++ trafficserver/traffic/trunk/lib/ts/ink_resolver.h Fri Dec 30 20:21:04 2011
@@ -77,6 +77,16 @@
 #include <net/ppp_defs.h>
 #endif
 
+#if defined(openbsd)
+#define NS_INT16SZ          INT16SZ
+#define NS_INT32SZ          INT32SZ
+#define NS_CMPRSFLGS        INDIR_MASK
+#define NS_GET16            GETSHORT
+#define NS_GET32            GETLONG
+#define NS_PUT16            PUTSHORT
+#define NS_PUT32            PUTLONG
+#endif
+
 #define INK_RES_F_VC        0x00000001      /*%< socket is TCP */
 #define INK_RES_F_CONN      0x00000002      /*%< socket is connected */
 #define INK_RES_F_EDNS0ERR  0x00000004      /*%< EDNS0 caused errors */

Modified: trafficserver/traffic/trunk/lib/ts/ink_thread.h
URL: 
http://svn.apache.org/viewvc/trafficserver/traffic/trunk/lib/ts/ink_thread.h?rev=1225913&r1=1225912&r2=1225913&view=diff
==============================================================================
--- trafficserver/traffic/trunk/lib/ts/ink_thread.h (original)
+++ trafficserver/traffic/trunk/lib/ts/ink_thread.h Fri Dec 30 20:21:04 2011
@@ -271,7 +271,7 @@ ink_cond_timedwait(ink_cond * cp, ink_mu
 {
   int err;
   while (EINTR == (err = pthread_cond_timedwait(cp, mp, t)));
-#if defined(freebsd)
+#if defined(freebsd) || defined(openbsd)
   ink_assert((err == 0) || (err == ETIMEDOUT));
 #else
   ink_assert((err == 0) || (err == ETIME) || (err == ETIMEDOUT));

Modified: trafficserver/traffic/trunk/lib/ts/ink_time.h
URL: 
http://svn.apache.org/viewvc/trafficserver/traffic/trunk/lib/ts/ink_time.h?rev=1225913&r1=1225912&r2=1225913&view=diff
==============================================================================
--- trafficserver/traffic/trunk/lib/ts/ink_time.h (original)
+++ trafficserver/traffic/trunk/lib/ts/ink_time.h Fri Dec 30 20:21:04 2011
@@ -128,7 +128,7 @@ int cftime_replacement(char *s, int maxs
 inkcoreapi int ink_gmtime_r(const ink_time_t * clock, struct tm *res);
 ink_time_t convert_tm(const struct tm *tp);
 
-#if defined(freebsd)
+#if defined(freebsd) || defined(openbsd)
 
 inline int
 ink_timezone()
@@ -148,7 +148,7 @@ inline int ink_daylight() {
 }
 */
 
-#else  // non-freebsd for the else
+#else  // non-freebsd, non-openbsd for the else
 
 inline int
 ink_timezone()

Modified: trafficserver/traffic/trunk/mgmt/Main.cc
URL: 
http://svn.apache.org/viewvc/trafficserver/traffic/trunk/mgmt/Main.cc?rev=1225913&r1=1225912&r2=1225913&view=diff
==============================================================================
--- trafficserver/traffic/trunk/mgmt/Main.cc (original)
+++ trafficserver/traffic/trunk/mgmt/Main.cc Fri Dec 30 20:21:04 2011
@@ -60,14 +60,6 @@
 
 #define FD_THROTTLE_HEADROOM (128 + 64) // TODO: consolidate with 
THROTTLE_FD_HEADROOM
 
-// TODO: Use positive instead negative selection
-#if !defined(linux) && !defined(darwin) && !defined(freebsd) && 
!defined(solaris)
-extern "C"
-{
-  int gethostname(char *name, int namelen);
-}
-#endif
-
 #if defined(freebsd)
 extern "C" int getpwnam_r(const char *name, struct passwd *result, char 
*buffer, size_t buflen, struct passwd **resptr);
 #endif

Modified: trafficserver/traffic/trunk/mgmt/cli/ConfigCmd.cc
URL: 
http://svn.apache.org/viewvc/trafficserver/traffic/trunk/mgmt/cli/ConfigCmd.cc?rev=1225913&r1=1225912&r2=1225913&view=diff
==============================================================================
--- trafficserver/traffic/trunk/mgmt/cli/ConfigCmd.cc (original)
+++ trafficserver/traffic/trunk/mgmt/cli/ConfigCmd.cc Fri Dec 30 20:21:04 2011
@@ -4900,14 +4900,16 @@ ConfigAlarmNotify(char *string_val)
 int
 find_value(const char *pathname, const char *key, char *value, int value_len, 
const char *delim, int no)
 {
+  int find = 0;
+
+#if defined(linux) || defined(darwin) || defined(freebsd) || defined(solaris) \
+ || defined(openbsd)
   char buffer[1024];
   char *pos;
   char *open_quot, *close_quot;
   FILE *fp;
-  int find = 0;
   int counter = 0;
 
-#if defined(linux) || defined(darwin) || defined(freebsd) || defined(solaris)
   value[0] = 0;
   // coverity[fs_check_call]
   if (access(pathname, R_OK)) {

Modified: trafficserver/traffic/trunk/mgmt/tools/ConfigAPI.cc
URL: 
http://svn.apache.org/viewvc/trafficserver/traffic/trunk/mgmt/tools/ConfigAPI.cc?rev=1225913&r1=1225912&r2=1225913&view=diff
==============================================================================
--- trafficserver/traffic/trunk/mgmt/tools/ConfigAPI.cc (original)
+++ trafficserver/traffic/trunk/mgmt/tools/ConfigAPI.cc Fri Dec 30 20:21:04 2011
@@ -21,7 +21,8 @@
   limitations under the License.
  */
 
-#if defined(linux) || defined(solaris) || defined(freebsd) || defined(darwin)
+#if defined(linux) || defined(solaris) || defined(freebsd) || defined(darwin) \
+ || defined(openbsd)
 
 #include "libts.h"
 #include "I_Layout.h"

Modified: trafficserver/traffic/trunk/mgmt/tools/SysAPI.cc
URL: 
http://svn.apache.org/viewvc/trafficserver/traffic/trunk/mgmt/tools/SysAPI.cc?rev=1225913&r1=1225912&r2=1225913&view=diff
==============================================================================
--- trafficserver/traffic/trunk/mgmt/tools/SysAPI.cc (original)
+++ trafficserver/traffic/trunk/mgmt/tools/SysAPI.cc Fri Dec 30 20:21:04 2011
@@ -31,7 +31,7 @@
 #include <pcre.h>
 #endif
 
-#if defined(linux) || defined(freebsd) || defined(darwin)
+#if defined(linux) || defined(freebsd) || defined(darwin) || defined(openbsd)
 
 #include "SysAPI.h"
 #include <unistd.h>
@@ -791,7 +791,7 @@ Net_GetSMTP_Server(char *server)
 }
 
 
-#if defined(linux) || defined(freebsd) || defined(darwin)
+#if defined(linux) || defined(freebsd) || defined(darwin) || defined(openbsd)
 
 int
 Net_GetDefaultRouter(char *router, size_t router_len)

Modified: trafficserver/traffic/trunk/proxy/CoreUtils.cc
URL: 
http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/CoreUtils.cc?rev=1225913&r1=1225912&r2=1225913&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/CoreUtils.cc (original)
+++ trafficserver/traffic/trunk/proxy/CoreUtils.cc Fri Dec 30 20:21:04 2011
@@ -132,7 +132,7 @@ int framepointer = 0;
 int program_counter = 0;
 #endif  // linux check
 
-#if defined(darwin) || defined(freebsd) || defined(solaris) // FIXME: solaris 
x86
+#if defined(darwin) || defined(freebsd) || defined(solaris) || 
defined(openbsd) // FIXME: solaris x86
 // TODO: Cleanup multiple includes
 #include <stdio.h>
 #include <stdlib.h>
@@ -978,7 +978,7 @@ CoreUtils::process_EThread(EThread * eth
 
     // This is not 64-bit correct. /leif
     printf("----------- EThread @ 0x%p ----------\n", eth_test);
-#if !defined(kfreebsd) && (defined(freebsd) || defined(darwin))
+#if !defined(kfreebsd) && (defined(freebsd) || defined(darwin) || 
defined(openbsd))
     printf("   thread_id: %p\n", loaded_eth->tid);
 #else
     printf("   thread_id: %i\n", (int) loaded_eth->tid);

Modified: trafficserver/traffic/trunk/proxy/CoreUtils.h
URL: 
http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/CoreUtils.h?rev=1225913&r1=1225912&r2=1225913&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/CoreUtils.h (original)
+++ trafficserver/traffic/trunk/proxy/CoreUtils.h Fri Dec 30 20:21:04 2011
@@ -81,7 +81,7 @@ struct core_stack_state
 };
 #endif  // linux check
 
-#if defined(darwin) || defined(freebsd) || defined(solaris) // FIXME: solaris 
x86
+#if defined(darwin) || defined(freebsd) || defined(solaris) || 
defined(openbsd) // FIXME: solaris x86
 #include <stdio.h>
 #include <unistd.h>
 #include <stdlib.h>

Modified: trafficserver/traffic/trunk/proxy/ICP.cc
URL: 
http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/ICP.cc?rev=1225913&r1=1225912&r2=1225913&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/ICP.cc (original)
+++ trafficserver/traffic/trunk/proxy/ICP.cc Fri Dec 30 20:21:04 2011
@@ -1740,7 +1740,8 @@ ICPRequestCont::BuildICPMsg(ICPopcode_t 
   mhdr->msg_name = (caddr_t) 0;
   mhdr->msg_namelen = 0;
   // TODO: The following is just awkward
-#if !defined(linux) && !defined(freebsd) && !defined(darwin) && 
!defined(solaris)
+#if !defined(linux) && !defined(freebsd) && !defined(darwin) && 
!defined(solaris) \
+ && !defined(openbsd)
   mhdr->msg_accrights = (caddr_t) 0;
   mhdr->msg_accrightslen = 0;
 #elif !defined(solaris)

Modified: trafficserver/traffic/trunk/proxy/Main.cc
URL: 
http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/Main.cc?rev=1225913&r1=1225912&r2=1225913&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/Main.cc (original)
+++ trafficserver/traffic/trunk/proxy/Main.cc Fri Dec 30 20:21:04 2011
@@ -44,7 +44,7 @@ extern "C" int plock(int);
 #include <sys/filio.h>
 #endif
 #include <syslog.h>
-#if !defined(darwin) && !defined(freebsd) && !defined(solaris)
+#if !defined(darwin) && !defined(freebsd) && !defined(solaris) && 
!defined(openbsd)
 #include <mcheck.h>
 #endif
 

Modified: trafficserver/traffic/trunk/proxy/http/remap/UrlRewrite.cc
URL: 
http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/http/remap/UrlRewrite.cc?rev=1225913&r1=1225912&r2=1225913&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/http/remap/UrlRewrite.cc (original)
+++ trafficserver/traffic/trunk/proxy/http/remap/UrlRewrite.cc Fri Dec 30 
20:21:04 2011
@@ -1658,7 +1658,7 @@ UrlRewrite::load_remap_plugin(char *argv
     Debug("remap_plugin", "New remap plugin info created for \"%s\"", c);
 
     if ((pi->dlh = dlopen(c, RTLD_NOW)) == NULL) {
-#if defined(freebsd)
+#if defined(freebsd) || defined(openbsd)
       err = (char *)dlerror();
 #else
       err = dlerror();


Reply via email to