diff options
author | osa <osa@FreeBSD.org> | 2012-02-02 21:05:19 +0800 |
---|---|---|
committer | osa <osa@FreeBSD.org> | 2012-02-02 21:05:19 +0800 |
commit | 4ac88c04913f24f31dbbbbcdb8ff7af6d769436d (patch) | |
tree | 075d9f476a14d25409113e95fa3d9e5d6d20e371 /www/oops | |
parent | 2b147b3cb590d989d82e6ed072e5dfd852a2a34b (diff) | |
download | freebsd-ports-gnome-4ac88c04913f24f31dbbbbcdb8ff7af6d769436d.tar.gz freebsd-ports-gnome-4ac88c04913f24f31dbbbbcdb8ff7af6d769436d.tar.zst freebsd-ports-gnome-4ac88c04913f24f31dbbbbcdb8ff7af6d769436d.zip |
Change type of pointers from int to uintptr_t for support 64 bit platforms.
Use system regexp library.
Add implementation of REPORT method.
While I'm here, convert pkginstall script into USERS/GROUPS macro and
remove needless script. Use bsd.options.mk.
Bump PORTREVISION.
Tested by: Dmitry Afanasiev <KOT@MATPOCKuH.Ru>
Approved by: maintainer (timeout > 2 weeks)
PRs: 163317, 164018
Diffstat (limited to 'www/oops')
-rw-r--r-- | www/oops/Makefile | 20 | ||||
-rw-r--r-- | www/oops/files/patch-methodreport | 38 | ||||
-rw-r--r-- | www/oops/files/patch-x64 | 222 |
3 files changed, 270 insertions, 10 deletions
diff --git a/www/oops/Makefile b/www/oops/Makefile index daf7b949fe6c..9a4d4dc5c942 100644 --- a/www/oops/Makefile +++ b/www/oops/Makefile @@ -1,13 +1,13 @@ # New ports collection makefile for: oops # Date created: 15 August 2000 -# Whom: Sergey Osokin aka oZZ <osa@FreeBSD.org.ru> +# Whom: osa # # $FreeBSD$ # PORTNAME= oops PORTVERSION= ${OOPSVERSION} -PORTREVISION= 7 +PORTREVISION= 8 CATEGORIES= www MASTER_SITES= http://oops-cache.org/ \ ftp://kucha.ru/pub/misc/oops/ @@ -26,13 +26,17 @@ CONFIGURE_ARGS?=--sbindir=${PREFIX}/sbin \ --sysconfdir=${PREFIX}/etc/oops \ --localstatedir=${OOPSVAR} \ --libdir=${PREFIX}/libexec/oops \ - --enable-oops-user=oops \ - --enable-large-files + --enable-oops-user=${USERS} \ + --enable-large-files \ + --with-regexp=system CONFIGURE_ENV+= PTHREAD_CFLAGS="${PTHREAD_CFLAGS}" \ PTHREAD_LIBS="${PTHREAD_LIBS}" CFLAGS+= -fPIC CXXFLAGS+= -fPIC +USERS= oops +GROUPS= nobody + OOPSVAR= /var/run/oops OOPSLOG= /var/log/oops .if !defined(NO_INSTALL_MANPAGES) @@ -49,7 +53,7 @@ OPTIONS= GIGABASE "GigaBase storage" on \ PGSQL "PostgreSQL auth support" off \ PCRE "PCRE support" off -.include <bsd.port.pre.mk> +.include <bsd.port.options.mk> .if !defined(WITHOUT_GIGABASE) .if defined (WITH_DB4) @@ -87,15 +91,11 @@ CONFIGURE_ARGS+= --with-regexp=pcre pre-configure: @cd ${WRKSRC} && ${AUTOHEADER} -pre-install: - @PKG_PREFIX=${PREFIX} BATCH=${BATCH} ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL - post-install: .if !defined(NO_INSTALL_MANPAGES) @${INSTALL_MAN} ${WRKSRC}/doc/oops.8 ${PREFIX}/man/man8 @${INSTALL_MAN} ${WRKSRC}/doc/oopsctl.8 ${PREFIX}/man/man8 .endif - @PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL @${MKDIR} -m 750 ${OOPSVAR} @${CHOWN} oops ${OOPSVAR} @${MKDIR} -m 750 ${OOPSLOG} @@ -106,4 +106,4 @@ post-install: post-clean: @${RM} -f ${WRKDIRPREFIX}${.CURDIR}/Makefile.inc -.include <bsd.port.post.mk> +.include <bsd.port.mk> diff --git a/www/oops/files/patch-methodreport b/www/oops/files/patch-methodreport new file mode 100644 index 000000000000..95c70c4d320a --- /dev/null +++ b/www/oops/files/patch-methodreport @@ -0,0 +1,38 @@ +diff -ruN oops.orig/files/patch-src_methodreport oops/files/patch-src_methodreport +--- oops.orig/files/patch-src_methodreport 1970-01-01 03:00:00.000000000 +0300 ++++ oops/files/patch-src_methodreport 2012-01-11 18:09:44.517662295 +0400 +@@ -0,0 +1,34 @@ ++diff -ruN src.orig/http_utils.c src/http_utils.c ++--- src.orig/http_utils.c 2012-01-11 18:04:20.773665172 +0400 +++++ src/http_utils.c 2012-01-11 18:07:47.378664712 +0400 ++@@ -120,6 +120,7 @@ ++ else if ( rq->meth == METH_MOVE ) meth="MOVE"; ++ else if ( rq->meth == METH_LOCK ) meth="LOCK"; ++ else if ( rq->meth == METH_UNLOCK ) meth="UNLOCK"; +++ else if ( rq->meth == METH_REPORT ) meth="REPORT"; ++ else ++ return; ++ IF_STRDUP(rq->tag, "TCP_MISS"); ++diff -ruN src.orig/oops.h src/oops.h ++--- src.orig/oops.h 2012-01-11 18:04:20.752662579 +0400 +++++ src/oops.h 2012-01-11 18:05:59.183668229 +0400 ++@@ -224,6 +224,7 @@ ++ #define METH_OPTIONS 15 ++ #define METH_PURGE_SITE 16 ++ #define METH_PURGE_SITE_R 17 +++#define METH_REPORT 18 ++ ++ #define AND_PUT 1 ++ #define AND_USE 2 ++diff -ruN src.orig/run_client.c src/run_client.c ++--- src.orig/run_client.c 2012-01-11 18:04:20.816667134 +0400 +++++ src/run_client.c 2012-01-11 18:08:03.998664367 +0400 ++@@ -1201,6 +1201,8 @@ ++ rq->meth = METH_PURGE_SITE_R; ++ else if (!strcasecmp(src, "OPTIONS")) ++ rq->meth = METH_OPTIONS; +++ else if (!strcasecmp(src, "REPORT")) +++ rq->meth = METH_REPORT; ++ else { ++ my_xlog(OOPS_LOG_SEVERE, "parse_http_request(): Unrecognized method `%s'.\n", src); ++ *p = ' ';
\ No newline at end of file diff --git a/www/oops/files/patch-x64 b/www/oops/files/patch-x64 new file mode 100644 index 000000000000..dac6c0845d08 --- /dev/null +++ b/www/oops/files/patch-x64 @@ -0,0 +1,222 @@ +diff -ruN src.orig/hash.c src/hash.c +--- src.orig/hash.c 2011-12-15 19:50:59.084410154 +0400 ++++ src/hash.c 2011-12-15 19:27:15.384413000 +0400 +@@ -1,4 +1,5 @@ + #include <stdio.h> ++#include <string.h> + #include <strings.h> + #include "hash.h" + +@@ -37,7 +38,7 @@ + int + hash_put(hash_t *hash, void *key, void *data, hash_entry_t **res) + { +-unsigned int index = 0; ++uintptr_t index = 0; + hash_entry_t *he = NULL; + hash_row_t *row = NULL; + int rc = 0; +@@ -48,7 +49,7 @@ + if ( hash->valid != HASH_VALID ) return(EINVAL); + switch(hash->type) { + case HASH_KEY_INT: +- index = (unsigned int)key % hash->rows; ++ index = (uintptr_t)key % hash->rows; + break; + case HASH_KEY_STRING: + index = string_hash((char*)key) % hash->rows; +@@ -65,7 +66,7 @@ + while ( he ) { + switch(hash->type) { + case(HASH_KEY_INT): +- if ( (int)he->key == (int)key ) { ++ if ( he->key == key ) { + rc = EEXIST; + goto done; + } +@@ -122,7 +123,7 @@ + int + hash_get(hash_t *hash, void *key, hash_entry_t **he_res) + { +-unsigned int index = 0; ++uintptr_t index = 0; + hash_entry_t *he = NULL; + hash_row_t *row = NULL; + int rc = 0; +@@ -134,7 +135,7 @@ + if ( hash->valid != HASH_VALID ) return(EINVAL); + switch(hash->type) { + case HASH_KEY_INT: +- index = (unsigned int)key % hash->rows; ++ index = (uintptr_t)key % hash->rows; + break; + case HASH_KEY_STRING: + index = string_hash((char*)key) % hash->rows; +@@ -155,7 +156,7 @@ + } + switch(hash->type) { + case(HASH_KEY_INT): +- if ( (int)he->key == (int)key ) { ++ if ( he->key == key ) { + he->ref_count++; + *he_res = he; + goto done; +diff -ruN src.orig/icp.c src/icp.c +--- src.orig/icp.c 2011-12-15 19:50:59.097408824 +0400 ++++ src/icp.c 2011-12-15 19:23:18.626418000 +0400 +@@ -36,7 +36,7 @@ + int version:8; + short msg_len; + } w0; +- int rq_n; ++ uintptr_t rq_n; + int opt; + int opt_data; + int sender; +@@ -45,15 +45,15 @@ + struct icp_lookup { + struct sockaddr_in sa; + char type; +- int rq_n; ++ uintptr_t rq_n; + }; + + static struct peer *peer_by_addr(struct sockaddr_in*); + static int process_hit(struct icp_lookup *icp_lookup, struct icp_queue_elem *qe); + static void process_icp_msg(int so, char *buf, int len, struct sockaddr_in *, struct sockaddr_in *); + static int process_miss(struct icp_lookup *icp_lookup, struct icp_queue_elem *qe); +-static void send_icp_op(int so, struct sockaddr_in *sa, int op, int rq_n, char *urlp); +-static void send_icp_op_err(int so, struct sockaddr_in *sa, int rq_n); ++static void send_icp_op(int so, struct sockaddr_in *sa, int op, uintptr_t rq_n, char *urlp); ++static void send_icp_op_err(int so, struct sockaddr_in *sa, uintptr_t rq_n); + + + #define icp_opcode icp_hdr->w0.opcode +@@ -473,7 +473,7 @@ + } + + static void +-send_icp_op_err(int so, struct sockaddr_in *sa, int rq_n) ++send_icp_op_err(int so, struct sockaddr_in *sa, uintptr_t rq_n) + { + char buf[5*4]; + int len = sizeof(buf); +@@ -488,7 +488,7 @@ + } + + static void +-send_icp_op(int so, struct sockaddr_in *sa, int op, int rq_n, char *urlp) ++send_icp_op(int so, struct sockaddr_in *sa, int op, uintptr_t rq_n, char *urlp) + { + char *buf; + int len = strlen(urlp)+1 + sizeof(struct icp_hdr); +@@ -545,7 +545,7 @@ + static int + process_miss(struct icp_lookup *icp_lookup, struct icp_queue_elem *qe) + { +-int rq_n; ++uintptr_t rq_n; + + if ( !qe || !icp_lookup ) return(0); + rq_n = icp_lookup->rq_n; +@@ -578,7 +578,7 @@ + static int + process_hit(struct icp_lookup *icp_lookup, struct icp_queue_elem *qe) + { +-int rq_n; ++uintptr_t rq_n; + + if ( !qe || !icp_lookup ) return(0); + rq_n = icp_lookup->rq_n; +diff -ruN src.orig/oops.h src/oops.h +--- src.orig/oops.h 2011-12-15 19:50:59.092410511 +0400 ++++ src/oops.h 2011-12-15 19:32:49.781410000 +0400 +@@ -839,8 +839,8 @@ + struct acls *http; + struct acls *icp; + struct badports *badports; +- int bandwidth; +- int miss_deny; /* TRUE if deny */ ++ uintptr_t bandwidth; ++ uintptr_t miss_deny; /* TRUE if deny */ + struct l_string_list *auth_mods; /* auth modules */ + l_mod_call_list_t *redir_mods; /* redir modules */ + pthread_mutex_t group_mutex; +@@ -852,10 +852,10 @@ + struct denytime *denytimes; + hash_t *dstdomain_cache; /* cashe for dstdom checks */ + acl_chk_list_hdr_t *networks_acl; +- int maxreqrate; /* max request rate */ +- int per_sess_bw; /* max bandw per session */ +- int per_ip_bw; /* bandw per ip address (or client) */ +- int per_ip_conn; /* max number of conns per ip */ ++ uintptr_t maxreqrate; /* max request rate */ ++ uintptr_t per_sess_bw; /* max bandw per session */ ++ uintptr_t per_ip_bw; /* bandw per ip address (or client) */ ++ uintptr_t per_ip_conn; /* max number of conns per ip */ + struct sockaddr_in conn_from_sa; /* connect from address */ + }; + +@@ -922,7 +922,7 @@ + /* url in icp format */ + char *url; + /* request number - id of request */ +- int rq_n; ++ uintptr_t rq_n; + /* how much peers was sent request to * + * (we will wait that many answers) */ + int requests_sent; +@@ -1014,7 +1014,7 @@ + #define IS_HUPED(a) (((a)->answer)&FD_POLL_HU) + + struct pollarg { +- int fd; ++ uintptr_t fd; + short request; + short answer; + }; +diff -ruN src.orig/parser.y src/parser.y +--- src.orig/parser.y 2011-12-15 19:50:59.089409966 +0400 ++++ src/parser.y 2011-12-15 19:45:36.266416000 +0400 +@@ -69,7 +69,7 @@ + %} + + %union { +- int INT; ++ uintptr_t INT; + char *STRPTR; + char CHAR; + struct cidr_net *NETPTR; +@@ -907,26 +907,26 @@ + new_grp->badports = ops->val; + break; + case OP_BANDWIDTH: +- new_grp->bandwidth = (int)ops->val; ++ new_grp->bandwidth = (uintptr_t)ops->val; + break; + case OP_PER_SESS_BW: +- new_grp->per_sess_bw = (int)ops->val; ++ new_grp->per_sess_bw = (uintptr_t)ops->val; + break; + case OP_PER_IP_BW: +- new_grp->per_ip_bw = (int)ops->val; ++ new_grp->per_ip_bw = (uintptr_t)ops->val; + break; + case OP_PER_IP_CONN: +- new_grp->per_ip_conn = (int)ops->val; ++ new_grp->per_ip_conn = (uintptr_t)ops->val; + break; + case OP_CONN_FROM: + memcpy(&new_grp->conn_from_sa, ops->val, sizeof(new_grp->conn_from_sa)); + free(ops->val); + break; + case OP_MISS: +- new_grp->miss_deny = (int)ops->val; ++ new_grp->miss_deny = (uintptr_t)ops->val; + break; + case OP_MAXREQRATE: +- new_grp->maxreqrate = (int)ops->val; ++ new_grp->maxreqrate = (uintptr_t)ops->val; + break; + case OP_AUTH_MODS: + if ( ops->val ) { |