You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by ni...@apache.org on 2013/04/15 21:11:08 UTC
[1/2] git commit: Drop in libloader code.
Updated Branches:
refs/heads/master e2aff41f8 -> 41f1c2e14
Drop in libloader code.
Necessary build and docs to follow.
Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/5654cf4c
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/5654cf4c
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/5654cf4c
Branch: refs/heads/master
Commit: 5654cf4c4b22e0c81d56f1b8d0afeafaed8a8133
Parents: eabab3e
Author: niq <ni...@apache.org>
Authored: Sat Apr 6 00:32:59 2013 +0100
Committer: niq <ni...@apache.org>
Committed: Sat Apr 6 00:32:59 2013 +0100
----------------------------------------------------------------------
plugins/libloader/libloader.c | 85 ++++++++++++++++++++++++++++++++++++
1 files changed, 85 insertions(+), 0 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/5654cf4c/plugins/libloader/libloader.c
----------------------------------------------------------------------
diff --git a/plugins/libloader/libloader.c b/plugins/libloader/libloader.c
new file mode 100644
index 0000000..ef84c2f
--- /dev/null
+++ b/plugins/libloader/libloader.c
@@ -0,0 +1,85 @@
+/*****************************************************************************
+ * Copyright (C) 2011-13 Qualys, Inc
+ * Copyright (C) 2013 The Apache Software Foundation
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * QUALYS licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ ****************************************************************************/
+
+/* libloader: load libraries, making all symbols exported
+ * universally visible. Equivalent to LoadFile in HTTPD.
+ *
+ * Written for ironbee plugin, whose module architecture
+ * is not compatible with trafficserver's plugins.
+ * May be useful for other plugins with non-trivial
+ * library dependencies.
+ */
+
+#include <dlfcn.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <ts/ts.h>
+
+typedef struct {
+ void *handle;
+ void *next;
+} link_handle;
+
+static link_handle *libs = NULL;
+
+static void unloadlibs(void)
+{
+ link_handle *p = libs;
+ while (p != NULL) {
+ link_handle *next = p->next;
+ dlclose(p->handle);
+ TSfree(p);
+ p = next;
+ }
+ libs = NULL;
+}
+
+void TSPluginInit(int argc, const char *argv[])
+{
+ int i;
+ TSPluginRegistrationInfo info;
+
+ info.plugin_name = (char *)"libloader";
+ info.vendor_name = (char *)"Apache Software Foundation";
+ info.support_email = (char *)"users@trafficserver.apache.org";
+
+ if (TSPluginRegister(TS_SDK_VERSION_3_0, &info) != TS_SUCCESS) {
+ TSError("[libloader] Plugin registration failed.\n");
+ return;
+ }
+
+ atexit(unloadlibs);
+
+ for (i = 1; i < argc; ++i) {
+ const char *lib = argv[i];
+ void *handle = dlopen(lib, RTLD_GLOBAL|RTLD_NOW);
+ if (handle) {
+ link_handle *l = TSmalloc(sizeof(link_handle));
+ l->handle = handle;
+ l->next = libs;
+ libs = l;
+ TSDebug("libloader", " loaded %s\n", lib);
+ }
+ else {
+ TSError("[libloader] failed to load %s: %s\n", lib, dlerror());
+ }
+ }
+ return;
+}
Re: [2/2] git commit: Merge https://git-wip-us.apache.org/repos/asf/trafficserver
Posted by Leif Hedstrom <zw...@apache.org>.
On 4/15/13 1:11 PM, niq@apache.org wrote:
> Merge https://git-wip-us.apache.org/repos/asf/trafficserver
>
>
> Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
> Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/41f1c2e1
> Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/41f1c2e1
> Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/41f1c2e1
Hmmm, what just happened with this commit? It looks like it merged a
previous commit:
commit 41f1c2e143501f060fb8b9b43d40d6ca194c7147
Merge: 5654cf4 e2aff41
Author: niq <ni...@apache.org>
AuthorDate: Mon Apr 15 16:32:25 2013 +0100
Commit: niq <ni...@apache.org>
CommitDate: Mon Apr 15 16:32:25 2013 +0100
Merge https://git-wip-us.apache.org/repos/asf/trafficserver
commit e2aff41f8d68144a0e90b1412c6006b784769af4
Author: weijin <ta...@taobao.com>
AuthorDate: Fri Apr 12 15:23:46 2013 -0600
Commit: Leif Hedstrom <zw...@apache.org>
CommitDate: Fri Apr 12 15:23:46 2013 -0600
TS-621 Allow caching of empty docs (currently only if a header
Content-Length: 0 is in the response). New config option is named
proxy.config.http.cache.allow_empty_doc, and is disabled by default.
We are aware this doesn't fully fix the problem, but is "good enough"
for now.
Reviews and minor cosmetic cleanup changes: James and Leif.
Why would e2aff4 be merged again? I think it looks ok, it's just weird.
-- Leif
Re: [2/2] git commit: Merge https://git-wip-us.apache.org/repos/asf/trafficserver
Posted by Leif Hedstrom <zw...@apache.org>.
On 4/15/13 1:11 PM, niq@apache.org wrote:
> Merge https://git-wip-us.apache.org/repos/asf/trafficserver
>
>
> Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
> Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/41f1c2e1
> Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/41f1c2e1
> Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/41f1c2e1
Hmmm, what just happened with this commit? It looks like it merged a
previous commit:
commit 41f1c2e143501f060fb8b9b43d40d6ca194c7147
Merge: 5654cf4 e2aff41
Author: niq <ni...@apache.org>
AuthorDate: Mon Apr 15 16:32:25 2013 +0100
Commit: niq <ni...@apache.org>
CommitDate: Mon Apr 15 16:32:25 2013 +0100
Merge https://git-wip-us.apache.org/repos/asf/trafficserver
commit e2aff41f8d68144a0e90b1412c6006b784769af4
Author: weijin <ta...@taobao.com>
AuthorDate: Fri Apr 12 15:23:46 2013 -0600
Commit: Leif Hedstrom <zw...@apache.org>
CommitDate: Fri Apr 12 15:23:46 2013 -0600
TS-621 Allow caching of empty docs (currently only if a header
Content-Length: 0 is in the response). New config option is named
proxy.config.http.cache.allow_empty_doc, and is disabled by default.
We are aware this doesn't fully fix the problem, but is "good enough"
for now.
Reviews and minor cosmetic cleanup changes: James and Leif.
Why would e2aff4 be merged again? I think it looks ok, it's just weird.
-- Leif
[2/2] git commit: Merge
https://git-wip-us.apache.org/repos/asf/trafficserver
Posted by ni...@apache.org.
Merge https://git-wip-us.apache.org/repos/asf/trafficserver
Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/41f1c2e1
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/41f1c2e1
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/41f1c2e1
Branch: refs/heads/master
Commit: 41f1c2e143501f060fb8b9b43d40d6ca194c7147
Parents: 5654cf4 e2aff41
Author: niq <ni...@apache.org>
Authored: Mon Apr 15 16:32:25 2013 +0100
Committer: niq <ni...@apache.org>
Committed: Mon Apr 15 16:32:25 2013 +0100
----------------------------------------------------------------------
CHANGES | 11 +
Vagrantfile | 2 +-
contrib/manifests/debian.pp | 2 +-
.../perl/AdminClient/lib/Apache/TS/AdminClient.pm | 1 -
example/app-template/app-template.cc | 6 +-
iocore/cache/Cache.cc | 12 +
iocore/cache/CacheWrite.cc | 20 ++-
iocore/cache/P_CacheInternal.h | 3 +
iocore/cache/P_CacheVol.h | 2 +-
mgmt/Main.cc | 3 -
mgmt/RecordsConfig.cc | 6 +-
mgmt/api/CfgContextUtils.cc | 70 ++----
mgmt/api/CfgContextUtils.h | 2 +-
mgmt/api/CoreAPI.cc | 7 +-
mgmt/api/include/mgmtapi.h | 2 +-
mgmt/stats/StatProcessor.cc | 3 +-
mgmt/stats/StatType.cc | 84 +++++--
mgmt/stats/StatType.h | 6 +-
proxy/Main.cc | 6 +-
proxy/Makefile.am | 3 -
proxy/Plugin.cc | 64 +----
proxy/Plugin.h | 2 +-
proxy/PluginDB.cc | 205 ---------------
proxy/PluginDB.h | 65 -----
proxy/config/Makefile.am | 1 -
proxy/config/mgr.cnf.default | 9 -
proxy/config/records.config.default.in | 3 +
27 files changed, 154 insertions(+), 446 deletions(-)
----------------------------------------------------------------------