※投稿名はOSCですが、全くOSCとは関係ありません。
さて、友人Tと健康ランドのエアコン効きまくりのレストルームというところで寝た後は、健康ランドからうどん食べに出発。
エアコン効きすぎていたが、意外とぐっすり寝られたので、結構元気な二人。
まぁまぁ有りな泊まり方だった。
「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。
※投稿名はOSCですが、全くOSCとは関係ありません。
さて、友人Tと健康ランドのエアコン効きまくりのレストルームというところで寝た後は、健康ランドからうどん食べに出発。
エアコン効きすぎていたが、意外とぐっすり寝られたので、結構元気な二人。
まぁまぁ有りな泊まり方だった。
VirtualHost対応のために、アクセス時のホスト名とVirtualHost名をapacheモジュール内で比較させる方法がある。 しかし、これだけでは不十分で、実際にはServerAliasの設定がされているサーバーも多く、Aliasとマッチさせる必要もでてくる。 そのための関数を書いてみた。以下ソース。
static int check_virtualhost_name(request_rec *r) {
int i;
const char *header_name;
const char *alias_name;
header_name = apr_table_get(r->headers_in, "HOST");
if (strcmp(header_name, r->server->server_hostname) == 0) {
vlimit_debug_log_buf = apr_psprintf(r->pool, "Match: access_name=(%s) ServerName=(%s)"
, header_name
, r->server->server_hostname
);
VLIMIT_DEBUG_SYSLOG("check_virtualhost_name: ", vlimit_debug_log_buf, r->pool);
return 0;
}
for (i = 0; i < r->server->names->nelts; i++) {
alias_name = (char **)r->server->names->elts + (r->server->names->elt_size * i);
vlimit_debug_log_buf = apr_psprintf(r->pool, "INFO: access_name=(%s) ServerAlias=(%s)"
, header_name
, alias_name
);
VLIMIT_DEBUG_SYSLOG("check_virtualhost_name: ", vlimit_debug_log_buf, r->pool);
if (strcmp(header_name, alias_name) == 0 ) {
vlimit_debug_log_buf = apr_psprintf(r->pool, "Match: access_name=(%s) ServerAlias=(%s)"
, header_name
, alias_name
);
VLIMIT_DEBUG_SYSLOG("check_virtualhost_name: ", vlimit_debug_log_buf, r->pool);
return 0;
}
}
vlimit_debug_log_buf = apr_psprintf(r->pool, "Not Match: access_name=(%s)"
, header_name
);
VLIMIT_DEBUG_SYSLOG("check_virtualhost_name: ", vlimit_debug_log_buf, r->pool);
return 1;
}
今年は全国各地のオープンソースカンファレンスに出てみようと思い、まずは今年初のオープンソースカンファレンス(以降OSC)が開催される香川へ向かった。
まずは、金曜日に仕事を定時で切り上げ、梅田発20:10の高松行き高速バスに向かった。
1時間ほど早くついたので、麺屋六三六で飯を食った。
世界中のWEBサーバーのほとんどはApacheで構築されている。
Apacheの開発が行われているApache Software Foundation(以下ASF)では、サードパーティ製の推奨モジュール群を、Apache Module Resgistryというサイトで提供するようにしている。
そのサイトは、Apacheモジュール開発者がソースと共に登録申請を出し、ASF側で問題無く推奨できるモジュールであれば、Apache Module Registryに登録され、ASFの推奨モジュールとして世界中に提供される。
僕も、apacheモジュールを開発したりしているので、ためしに作ったモジュールを二つほど申請してみた。
すると、なんと数日後申請がおり、Apache Module Registryに登録された。
申請したのは以下のモジュール。
[important]
[/important]
これで名実ともにApache(モジュール)開発者と名乗っちゃってもいいのかな。