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();