An HTTP status code
*/
APU_DECLARE(int) apr_uri_parse_relative(apr_pool_t *p,
const apr_uri_t *base,
const char* uri,
apr_uri_t* uptr);
--
Nick Kew
On Thu, 30 Oct 2003, Nick Kew wrote:
I've just hacked a couple of patches that fill gaps in Apache's
URI manipulation, sufficient to construct HTTP requests for external
resources. May I submit these for inclusion?
The only response to this was where is it?, so here goes.
See attached
resources available?
BTW, on a related note, I anticipate using an apx_*** namespace to
export fuctions from mod_xmlns in the reasonably near future.
[1] or, more pedantically, apr-util
--
Nick Kew
[ first submitted in November; folks @apachecon suggested resubmitting ]
--
Nick Kew
--- srclib/apr-util/uri/apr_uri.c 2003-03-03 18:31:58.0 +
+++ srclib/apr-util/uri/apr_uri.c.new 2003-11-01 14:58:31.0 +
@@ -448,3 +448,94 @@
}
return APR_EGENERAL
Grr ... I must not tidy up patches to send them immediately before
collapsing in bed at 3 a.m. Of course that's missing a declaration
of apr_status_t ret :-(
On Fri, 2 Jan 2004, Nick Kew wrote:
Rationale: if an module gets a resource that proves to be bad (e.g.
a connection that's gone away
of a hot topic. I've been
wondering - without reaching any firm conclusion - whether mpool(3)
might serve the same purpose.
Is RMM a two-platform-only thing? If so it's unlikely to be of much
interest for APR (look up the P:-), but could be worth writing a
module to exploit it.
--
Nick Kew
On Wed, 10 Mar 2004, Aaron Bannert wrote:
On Fri, Jan 02, 2004 at 03:09:09AM +, Nick Kew wrote:
Rationale: if an module gets a resource that proves to be bad (e.g.
a connection that's gone away), it shouldn't be returned to the
pool to be given out again. We should invalidate
On Sun, 14 Mar 2004, Jeff Trawick wrote:
see comments in PR 26050 about discrepancy in prototypes that seems to show an
underlying issue; apps don't see apr_res_t, so some rework and testing is
needed
It's a fair cop guv. The resource is detached when it's issued, so
invalidate mustn't take
module,
I've a nasty suspicion it should at least be in #ifdef.
Or is srand48/drand48 really portable beyond *X?
--
Nick Kew
it will fail
cleanly rather than go into an infinite loop. If you'd like me to
attack that one, let me know.
--
Nick Kew
-
illegally stolen and used in Linux!
--
Nick Kew
. start httpd: open(O_CREAT) = EXIST
6. admin goes crazy
Hehe, that rings a bell ...
Proper hacky admin fixes it by renaming scoreboard file in httpd.conf ...
--
Nick Kew
Nick's manifesto: http://www.htmlhelp.com/~nick/
forced to fork for similar reasons. Doesn't this negate
much of the point of having a supposedly-standard package
in the first place?
--
Nick Kew
/showpage.php?dd=1theid=2578
is taking up my time and energy ... gotta go to rehearsal again in
ten minutes now.
--
Nick Kew
they shouldn't.
--
Nick Kew
with using apr.
Agreed. But I don't have APR karma to introduce the idea there.
--
Nick Kew
) ;
apr_pool_cleanup_register(pool, newbuf,
(void*)free, apr_pool_cleanup_null);
ctx-buf = newbuf ;
}
}
But I can't help thinking this should be
(a) standardised.
(b) optimised to work with pools.
--
Nick Kew
of something breaking or less efficient than
what I posted) would be important to know about; a philosophical
objection can safely be overruled:-)
--
Nick Kew
POST. If your
data are not large, a simple handler that converts the data to GET
and does an internal redirect might be a simpler workaround.
--
Nick Kew
can't find it using
./configure --with-dbm=db42 \
--with-berkeley-db=/usr/local/BerkeleyDB.4.2
--
Nick Kew
and tidy it up. If no I'll keep it
all at the module level as originally envisaged.
--
Nick Kew
On Mon, 6 Dec 2004, Nick Kew wrote:
Currently I have code for a proposed apr_dbd that compiles and loads
cleanly, comprising apr_dbd.[c|h], a MySQL driver apr_dbd_mysql,
I've now added a test program, and the drivers for MySQL and PostgreSQL
work for me. Time to post here for preliminary
a cast :-)
The Prepared Statement stuff is ugly: do any of the Perl folks know
how Perl DBI deals with different syntaxes and backends, and is there
anything we can usefully steal?
That's a good question... I'll have to think about that.
:-)
--
Nick Kew
://www.apache.org/~niq/dbd.html .
From there to APR is a small step several people, including IIRC
yourself on IRC, suggested.
--
Nick Kew
the architecture
of an apache module with server-lifetime and request-lifetime things.
--
Nick Kew
On Thu, 9 Dec 2004, Cliff Woolley wrote:
Why does the close function take a void arg? Can't we just pass it an
apr_dbt_t *?
To pass to apr_pool_cleanup funcs without a cast :-)
Don't do this.
OK, changing that.
--
Nick Kew
provider, with a static var to ensure
it only runs once. Which then raises the followup question: do we
want a thread_init too? Simple to add, of course.
--
Nick Kew
and request-pool?
--
Nick Kew
On Fri, 10 Dec 2004, Branko ^Libej wrote:
Nick Kew wrote:
/* These are opaque structs. Instantiation is up to each backend */
#ifndef APR_DBD_INTERNAL
typedef struct apr_dbd_t apr_dbd_t;
typedef struct apr_dbd_transaction apr_dbd_transaction;
typedef struct apr_dbd_results apr_dbd_results
MYSQL_STMT apr_dbd_prepared;
IOW, removing the #ifdefs would force drivers to wrap everything,
even if they have no good reason to do so. KISS!
--
Nick Kew
.
--
Nick Kew/*Copyright (c) 2004, Nick Kew. All rights reserved.
If this is accepted by ASF for inclusion in APR-UTIL,
I will assign copyright to ASF and license under ASF terms.
Otherwise I will retain copyright and license under
terms of my choice.
*/
#ifndef
On Mon, 13 Dec 2004, Graham Leggett wrote:
Nick Kew wrote:
This seems to me less than ideal even for DBM. In the case of DBD,
the backends are major applications in themselves, and hardwiring them
at build time seems to be seriously suboptimal. So I've re-hacked
the DBD code to load
rather than HAVE.
I guess that's a simple enough fix:-)
--
Nick Kew
On Sun, 12 Dec 2004, Garrett Rooney wrote:
You didn't include a makefile in your latest post of the code, so I
didn't actually try it.
My makefiles tend to be (a) not very portable, (b) in a state of
constant flux. I attach one for the stuff I posted on Saturday.
--
Nick KewAPXS=
pools.
http://www.apachetutor.org/dev/pools
--
Nick Kew
post all the code to the list again now, but anyone looking
at it, please let me know and I'll package an updated tarball.
--
Nick Kew
On Fri, 14 Jan 2005, Mladen Turk wrote:
Garrett Rooney wrote:
Paul Querna wrote:
2. APR DBI/DBD from Nick Kew is not yet into APR-Util. I think there
was general agreement that this interface would be worth having, but
Nick is waiting to be granted karma for APR. PMC?
I would like
not (does pgsql even exist on windows?), but I
wouldn't see that as a showstopper, any more than a native MSSQL driver
not compiling on *X.
--
Nick Kew
level interface to a particular OO technology
2. High level or abstract interface equal on each
technology.
3. APR api for loading OO language engine.
If we work towards a modular extensible core, then this becomes one
element of that effort, I think?
--
Nick Kew
already pointed him to http://www.apachetutor.org/dev/pools
but my reply didn't go to the list (faffing about with unfamiliar mailer:-)
--
Nick Kew
.
It also dlloads the drivers (provided APR_HAS_DSO). That isn't relevant to
most of APR as it stands now (except perhaps APR_DBM), but could become
the norm if - as has been suggested - we're going to make it a much more
pluggable framework and accommodate third-party extensions, apr-java, etc.
--
Nick
to enable sendfile at all at configure time. Didn't have
time to enable it explicitly, though I may do later today.
Other netbsd oops already discussed on IRC.
--
Nick Kew
someone please summarize the best practices for uses of essential
modules such as pools?
http://www.apachetutor.org/dev/pools
--
Nick Kew
to that work).
--
Nick Kew
will have to lapse, and I will simply release
it at under the GPL at apache.webthing.com.
If anyone with APR karma would like to take responsibility for committing
it, please contact me within 24 hours to discuss logistics.
--
Nick Kew
.
--
Nick Kew
On Thursday 03 February 2005 12:30, Joe Orton wrote:
On Wed, Feb 02, 2005 at 05:45:30AM +, Nick Kew wrote:
I've just committed the first apr_dbd code to apr-util:
- adding headers without building the code breaks the httpd build
Oops, sorry!
- test code should go in test/ not dbd
has already changed once
in response to someone's suggestion on this list, and is looking a bit
awkward - no doubt because I made the most obvious change rather than
the best.
--
Nick Kew
On Friday 04 February 2005 15:49, Garrett Rooney wrote:
If you don't have any objection I'll look at pulling it out of the API
and into the dbd object this weekend.
Fine with me. It's not going to hit the top of my own to-do list in
that time, anyway:-)
--
Nick Kew
this to [EMAIL PROTECTED], but their website just has a
contact form rather than any useful address, so I'm going to have to point
them to this post instead:-(
--
Nick Kew
personal opinion isn't the issue - any more than mine:-) Your corporate
opinion is, however, of great interest.
--
Nick Kew
licensing imposes that restriction,
but Apache licensing disallows it.
I think it would be a good idea for your legal department to review the issue.
--
Nick Kew
-to-date until I have my own
SVN open (which is getting delayed now by an enforced house move:-( ).
--
Nick Kew
...
Agreed.
I've just updated the source to change
#if APR_HAS_DSO
to
#if APR_DSO_BUILD
That'll build it correctly for a static link for the time being.
Then we can
#define APR_DSO_BUILD APR_HAS_DSO
once the autofoo sufficiently supports dynamic building
--
Nick Kew
: for DSO loading of drivers, we could perhaps use
a magic versioning number. Making that APR-wide would make sense,
preparing the ground for possible APR module support in other areas.
Any thoughts?
--
Nick Kew
cover us, but I'm not happy
with it in my own mind, so I'm going to post here with Cc: to MySQL folks
sometime soonish.
Meanwhile, apr_dbd_mysql.c can live at apache.webthing.com under the GPL
with no risk of license issues.
--
Nick Kew
beyond the scope of what apr_dbd is designed for, in which case
we need to decide whether it's important enough to merit a
review of the existing API.
--
Nick Kew
);
to
APU_DECLARE(int) apr_dbd_transaction_end(apr_dbd_driver_t *driver,
apr_pool_t *pool,
apr_dbd_t *handle);
--
Nick Kew
Paul Querna wrote:
Garrett Rooney wrote:
Nick Kew wrote:
However, we have what now appears to be a redundant argument:
I think the reason I left it in the prototype was on the off chance that
we want to be able to handle recursive transactions of some sort. Of
course, I have no idea if any
by then:-)
--
Nick Kew
Nick Kew wrote:
I'll try and find time to make the proposed change between now and the
end of the week.
There's a little more complexity than I realised, due to transactions
being tied to pools (looks like a bug in the current pgsql, too).
And I've had less time than expected. So I'm going
reference?
--
Nick Kew
Index: include/apr_dbd.h
===
--- include/apr_dbd.h (revision 210060)
+++ include/apr_dbd.h (working copy)
@@ -34,6 +34,20 @@
typedef struct apr_dbd_prepared_t apr_dbd_prepared_t;
#endif
+typedef struct
need to get reviewed, agreed on,
and then used in a test version for a while, then await sufficient
general agreement for a release incorporating it.
--
Nick Kew
John Vandenberg wrote:
On 8/4/05, Nick Kew [EMAIL PROTECTED] wrote:
Hi Nick,
As indicated in my post of a few weeks ago, I'd like to support typed
data in apr_dbd. I posted a patch that would change (and break) the
API. Since apr_dbd hasn't yet featured in a release version
of Aug. 3rd. The likely changes will be fully
back-compatible, so there's no reason not to exclude apr_dbd as-is
from a new release.
--
Nick Kew
a trivial change now by adding
APR_DBD_VERSION_PLACEHOLDER /* reserved for future expansion */
at the end of the struct? I'm just thinking how many slots to
reserve. If you're happy with that, I'll do the deed.
--
Nick Kew
only ever instantiated by a driver module.
I don't see a scenario where something could legitimately break on it.
Anyway, as I said, a placeholder now fixes that.
--
Nick Kew
On Tuesday 09 August 2005 21:33, Garrett Rooney wrote:
Nick Kew wrote:
Anyway, as I said, a placeholder now fixes that.
Out of curiosity, is there any reason we can't just forward declare the
struct and access the internals via some accessor functions?
Hmmm, fair point.
There's one
sight of apr_dbd_driver_t. But I guess that's fairly trivial.
I don't know anything about test/testdbd.c.
--
Nick Kew
[local|global]
If we do that, might we want to support LAZY|NOW at the same time?
--
Nick Kew
i686 VIA Nehemiah
CentaurHauls GNU/Linux
Aren't we supposed to have binary back-compatibility until we bump a major
version?
--
Nick Kew
On Wednesday 17 August 2005 12:11, Joe Orton wrote:
On Wed, Aug 17, 2005 at 12:08:11PM +0100, Nick Kew wrote:
On Sunday 14 August 2005 02:11, Paul Querna wrote:
APR 1.2.1 is available for testing from:
http://people.apache.org/~pquerna/dev/apr-1.2.1/
Builds just fine but breaks
lfs disabled before.
I'll try find time to rebuild now.
--
Nick Kew
need a quieter place of work:-(
--
Nick Kew
William A. Rowe, Jr. wrote:
Let me clarify; you had manually disabled LFS in your 1.1.0
version, and failed to manually disable it in your 1.2.1 bump?
Yep. User carelessness. I plead extenuating circumstances, with
the number of very *noisy* things going on around here:-( Aaargh!
--
Nick
On Friday 19 August 2005 03:58, Rick Keiner wrote:
Hi Garret,
Will this patch get in 1.2.1? If not, the SQLite3
driver will not support Float values.
Too late for 1.2.1, but I've just committed the patch in Trunk so it should
make it into the next release, if nothing bad happens.
--
Nick
/* APR_HAS_THREADS */
/** @} */
Anyone object to this kind of update?
--
Nick Kew
Joe Orton wrote:
On Sat, Aug 20, 2005 at 12:29:56PM +0100, Nick Kew wrote:
When writing APR applications, we sometimes need to make heavy
use of APR #ifdefs.
A case in point is mod_dbd, which uses either apr_reslist or a
single persistent connection according to whether APR_HAS_THREADS
and incompatible
assumptions were linked. In APR terms, it sounds more like linking
a threaded and an unthreaded APR into the same application.
--
Nick Kew
On Saturday 20 August 2005 23:33, Jeff Trawick wrote:
On 8/20/05, Nick Kew [EMAIL PROTECTED] wrote:
Jeff Trawick wrote:
If APR always provides such APIs and acts like they work, what is to
signal to a threaded APR app that they are picking up a non-threaded
libapr?
With reference
is independently useful
Indeed, I had contemplated that, and it's what I'd favour if this were the
design phase of a new product. I wasn't proposing it now because it's
not clear how to do it without some risk of breaking existing apps -
if any would break now on unconditional-SUCCESS.
--
Nick
.
--
Nick Kew
application doesn't happen to need)
unimplemented, returning APR_ENOTIMPL. Now if we've used APR_ENOTIMPL
for a no-op success, *all apps* that use the feature have lost the distinction
between success and a failure that can't be ignored.
--
Nick Kew
of your CGI
with the same codebase?
--
Nick Kew
Justin Erenkrantz wrote:
--On August 22, 2005 1:35:48 PM +0100 Nick Kew [EMAIL PROTECTED] wrote:
I disagree. For example, APR_EOF is an end-condition, not an error.
apr_errno even defines different ranges of codes for different things.
In practical terms, suppose I implement APR for Platform
, do
you agree?
Of course! No argument about that.
--
Nick Kew
and of the persistent connection that is the
fundamental pillar of LAMP. I'm sure it can't be too long before they get
connection pooling!
--
Nick Kew
in
a major version change.
--
Nick Kew
the connection cleanup between different requests.
To deal with that, I've just added apr_dbd_reset(driver, handle) to the
API. Drivers should use it to perform any cleanup that might be
necessary on a connection, and I'm adding it to mod_dbd in
the relevant places (for trunk).
Review invited.
--
Nick Kew
to opportunity to stress the folly of bundling
a standard library such as expat, with all the inevitable risks of
conflicting with an installed version.
--
Nick Kew
to (find time to) build a better modules.apache.org
are anything to go by, it's likely to remain a gleam in the eye.
[ ] Individual wrappers to permit a new add-in to be compiled quickly
Definitely that. We're talking modules vs monoliths here.
--
Nick Kew
On Tuesday 01 November 2005 22:44, André Malo wrote:
* [EMAIL PROTECTED] wrote:
+#define CLEANUP_CAST (apr_status_t (*)(void*))
Hmm. That looks strange to me. Wouldn't a typedef (+ casts in place) serve
better?
Huh? It is a cast. No more, no less.
--
Nick Kew
On Wednesday 02 November 2005 09:03, Joe Orton wrote:
This code has undefined behaviour by the C standard (calling a function
via a function pointer of incompatible type), such casts should never be
used at all IMO.
So where is the incompatible pointer type?
--
Nick Kew
the build.
--
Nick Kew
with relevant topics including
APR. New articles welcome:-)
--
Nick Kew
to resolve against
+ * @param uptr The apr_uri_t to resolve
+ * @return An HTTP status code
+ */
+APU_DECLARE(int) apr_uri_resolve_relative(apr_pool_t *p,
+ const apr_uri_t *base,
+ apr_uri_t *uptr);
--
Nick Kew
On Wednesday 28 December 2005 11:04, Nick Kew wrote:
PR#28453 contains a patch to parse URIs relative to a base URI supplied.
Anyone object if I apply it (with any updates necessary - seems to
contain tabs)?
Hmmm, pasting the API of that patch, I notice both functions incorrectly
return int
.
[GC] Absolutely fair, though in my defence PHP+MySQL was given as an
example.
Should I throw mod_annot (apachetutor) into the pot at this point?
It's a much lighter-weight solution than PHP+MySQL:-)
--
Nick Kew
it to check for MySQL version 4.1? It won't work with lower
versions; AIUI it *should* work with higher versions.
FWIW, a quick look on this gentoo box shows
/usr/include/mysql/mysql.h
with
/usr/lib/libmysqlclient_r.so
but *also* a symlink at /usr/lib/mysql/libmysqlclient_r.so
--
Nick Kew
woefully inadequate to
review it meaningfully.
--
Nick Kew
1 - 100 of 392 matches
Mail list logo