{"id":166,"date":"2009-12-16T15:05:05","date_gmt":"2009-12-16T14:05:05","guid":{"rendered":"http:\/\/lendl.priv.at\/blog\/?p=166"},"modified":"2026-01-26T12:15:59","modified_gmt":"2026-01-26T11:15:59","slug":"a-blast-from-the-past-mod_epp","status":"publish","type":"post","link":"https:\/\/lendl.priv.at\/blog\/2009\/12\/16\/a-blast-from-the-past-mod_epp\/","title":{"rendered":"A blast from the past: mod_epp"},"content":{"rendered":"<p>I recently got contacted by <a href=\"http:\/\/sidn.nl\/\">SIDN<\/a> regarding some problems with <a href=\"http:\/\/sourceforge.net\/projects\/aepps\/\">mod_epp<\/a>. They were running into issues when combining mod_epp with mod_proxy and needed me to find a fix. We came to an agreement, I spend some time programming C again, and here it is: mod_epp version 1.6.<\/p>\n<p>Changes:<\/p>\n<p><code><br \/>\n* Bugfix: Internal EPP error messages work again<br \/>\n* Default value for EPPAuthURI<br \/>\n* New config statement: EPPReturncodeHeader<br \/>\n\t- Backend can signal EPP RC to mod_epp<br \/>\n* New feature: implicit login<br \/>\n\t- EPPAuthURI = implicit<br \/>\n\t- no special request to authenticate<br \/>\n\t- uses either HTTP error code or via EPPReturncodeHeader<br \/>\n\t  of the <login> command.<br \/>\n* New feature: User-Agent: header set<br \/>\n* Bufix\/Feature: Connection close now works on mod_proxy<br \/>\n\t- X-Connection<br \/>\n\t- via EPP return code<\/p>\n<p>* A mod_proxy setup is now fully supported. See README.<\/login><\/code><\/p>\n<p>Get it <a href=\"https:\/\/sourceforge.net\/projects\/aepps\/files\/\">here<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I recently got contacted by SIDN regarding some problems with mod_epp. They were running into issues when combining mod_epp with mod_proxy and needed me to find a fix. We came to an agreement, I spend some time programming C again, and here it is: mod_epp version 1.6. Changes: * Bugfix: Internal EPP error messages work [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[],"class_list":["post-166","post","type-post","status-publish","format-standard","hentry","category-system-administration"],"_links":{"self":[{"href":"https:\/\/lendl.priv.at\/blog\/wp-json\/wp\/v2\/posts\/166","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lendl.priv.at\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lendl.priv.at\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lendl.priv.at\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lendl.priv.at\/blog\/wp-json\/wp\/v2\/comments?post=166"}],"version-history":[{"count":1,"href":"https:\/\/lendl.priv.at\/blog\/wp-json\/wp\/v2\/posts\/166\/revisions"}],"predecessor-version":[{"id":957,"href":"https:\/\/lendl.priv.at\/blog\/wp-json\/wp\/v2\/posts\/166\/revisions\/957"}],"wp:attachment":[{"href":"https:\/\/lendl.priv.at\/blog\/wp-json\/wp\/v2\/media?parent=166"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lendl.priv.at\/blog\/wp-json\/wp\/v2\/categories?post=166"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lendl.priv.at\/blog\/wp-json\/wp\/v2\/tags?post=166"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}