Apache HTTPD and Module API Versions

FREE THOUGHT · FREE SOFTWARE · FREE WORLD

Apache HTTPD and Module API VersionsNovember 25th, 2008

« .htaccess Plugin Blocks Spam, Hackers, and Password Protects BlogAdvanced .htaccess Tricks for Securing Sites »

The API_VERSION can be found by using either the mod_rewrite.c module, or the mod_info.c module. Here is how the mod_rewrite module defines it.

API_VERSION
This is the version of the Apache module API (the internal interface between server and module) in the current httpd build, as defined in include/ap_mmn.h. The module API version corresponds to the version of Apache in use (in the release version of Apache 1.3.14, for instance, it is 19990320:10), but is mainly of interest to module authors.

Find the API Version with .htaccess

To find the Apache API Version, which tells us among other things the version of Apache being run, we can use the tricks detailed in the crazy advanced mod_rewrite tutorial to find it using .htaccess directives.

RewriteEngine On
RewriteBase /
RewriteRule .* - [E=INFO_API_VERSION:%{API_VERSION},NE]
RequestHeader set INFO_API_VERSION "%{INFO_API_VERSION}e"

Apache HTTPD Module API

MODULE_MAGIC_NUMBER
Versions 1.3.1 and lower. Initializer for the first few module slots, which are only really set up once we start running. Note that the first word is a version check; this should allow us to deal with changes to the API (the server can detect an old-format module, and either handle it back-compatibly, or at least signal an error).
MODULE_MAGIC_NUMBER_MAJOR
Major API changes that could cause compatibility problems for older modules such as structure size changes. No binary compatibility is possible across a change in the major version.
MODULE_MAGIC_NUMBER_MINOR
Minor API changes that do not cause binary compatibility problems. Should be reset to 0 when upgrading MODULE_MAGIC_NUMBER_MAJOR.

Apache HTTPD/API Versions

1.3.0
19980527
1.3.1
19980713
1.3.2
19980917:0
1.3.3
19980917:0
1.3.4
19990108:0
1.3.6
19990320:0
1.3.9
19990320:6
1.3.11
19990320:6
1.3.12
19990320:7
1.3.14
19990320:10
1.3.17
19990320:10
1.3.19
19990320:10
1.3.20
19990320:10
1.3.22
19990320:10
1.3.23
19990320:11
1.3.24
19990320:11
1.3.27
19990320:13
1.3.28
19990320:15
1.3.29
19990320:15
1.3.31
19990320:16
1.3.32
19990320:16
1.3.33
19990320:16
1.3.34
19990320:18
1.3.35
19990320:18
1.3.36
19990320:18
1.3.37
19990320:18
1.3.39
19990320:18
1.3.41
19990320:18

HTTPD 2.0.x

2.0.35
20020329:0
2.0.36
20020329:1
2.0.39
20020612:1
2.0.40
20020628:0
2.0.42
20020903:0
2.0.43
20020903:0
2.0.44
20020903:0
2.0.45
20020903:0
2.0.46
20020903:3
2.0.47
20020903:4
2.0.48
20020903:4
2.0.49
20020903:7
2.0.50
20020903:8
2.0.51
20020903:9
2.0.52
20020903:9
2.0.53
20020903:9
2.0.54
20020903:9
2.0.55
20020903:11
2.0.58
20020903:12
2.0.59
20020903:12
2.0.61
20020903:12
2.0.63
20020903:13

HTTPD 2.1.x

2.1.3-beta
20050217:0
2.1.6-alpha
20050305:3
2.1.7-beta
20050708:1
2.1.8-beta
20050708:1
2.1.9-beta
20051006:0

HTTPD 2.2.x

2.2.0
20051115:0
2.2.2
20051115:2
2.2.3
20051115:3
2.2.4
20051115:4
2.2.6
20051115:5
2.2.8
20051115:11
2.2.9
20051115:15
2.2.10
20051115:18

Further Reading

« .htaccess Plugin Blocks Spam, Hackers, and Password Protects BlogAdvanced .htaccess Tricks for Securing Sites »

Reader Comments

  1. Benny says:

    What radio station is playing? Realy nice!

RSS feed for comments on this post.TrackBack URL

Add Your Opinion

Skip to Comments
769

It's very simple -
you read the protocol
and write the code.
-Bill Joy

HTML | DCMI | GRDDL | XOXO | XDMP | XFN | DOM | XML | XHTML 1.1 Strict | CSS 2.1 | W3C | WAI | DISA | ICSI | GIAC | SANS RR | GHOST

Authority: 110

↑ TOP

Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution 3.0 License, just credit with a link.
This site is not supported or endorsed by The Apache Software Foundation (ASF). All software and documentation produced by The ASF is licensed according to these terms. "Apache" is a trademark of The ASF.

Site Map | Contact Webmaster | Glossary | License and Disclaimer | Terms of Service