The ccache software maintains a cache to store compilation artefacts, so the next time you compile the same source file, you can get the compiled code from the cache. That speeds up a lot recompilation. At Nasqueron, ccache is useful to speed up Poudriere builds to test FreeBSD ports. To be able to follow if […]
Read moreIEC 559 support in LibTomMath on FreeBSD
Raku is the new name of Perl 6, a language inspired by Perl and compiled for a virtual machine. When preparing FreeBSD ports for the Raku ecosystem, I’ve noticed those depend on LibTomMath, with IEEE754 floating point format support.
Read moreFind TCL headers and libraries in Debian and FreeBSD
Problem. You want to compile a software against TCL. You run ./configure, but it can’t find it. You so need to locate where are the headers and the libraries. Solution. Start with the TCL version. On Debian: headers are in a subdirectory in /usr/include, named tcl followed by the version libraries are sorted by architecture, […]
Read moreFreeBSD port update: devel/git-review
The devel/git-review port has been updated to the latest version. Changelog for git-review 1.23 Fix str(None) bug in port detection for hook setup Fix pep8 deps for pyflakes version conflict. Expand multiple commit submission warning. Changelog for git-review 1.22 Provide usage help even if not in Git directory Document defaultremote option & site/user configs Allow […]
Read moreHow to use TclSOAP 1.6.7 in 2013
TclSOAP is a library to create or consume SOAP WebServices. It also allows to consume XML-RPC stuff. Unfortunately, strange versionning choices (it search precises versions of the dom TCL package, and of course, these versions bumped with the years) broke the package require mechanism. This patch solves that and allows you to use it:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
diff --git SOAP.tcl SOAP.tcl index 4ba871e..1aaa071 100644 --- SOAP.tcl +++ SOAP.tcl @@ -22,12 +22,11 @@ package require rpcvar; # TclSOAP namespace eval ::SOAP {variable domVersion} if {[catch {package require SOAP::dom 1.0} ::SOAP::domVersion]} { - if { [catch {package require dom 2.0} ::SOAP::domVersion]} { - if { [catch {package require dom 1.6} ::SOAP::domVersion]} { - error "require dom package greater than 1.6" - } - package require SOAP::xpath; # TclSOAP + if {[catch {package require dom} ::SOAP::domVersion] || [package vcompare $::SOAP::domVersion 1.6] < 0} { + error "require dom package greater than 1.6" } + package require SOAP::xpath; # TclSOAP + proc ::SOAP::createDocument {name} { set doc [dom::DOMImplementation create] return [dom::document createElement $doc $name] diff --git pkgIndex.tcl pkgIndex.tcl index ca84e42..ebdf78f 100644 --- pkgIndex.tcl +++ pkgIndex.tcl @@ -11,7 +11,6 @@ package ifneeded SOAP 1.6.7 [list source [file join $dir SOAP.tcl]] package ifneeded SOAP::CGI 1.0 [list source [file join $dir SOAP-CGI.tcl]] package ifneeded SOAP::Domain 1.4 [list source [file join $dir SOAP-domain.tcl]] -package ifneeded SOAP::Service 0.4 [list source [file join $dir SOAP-service.tcl]] package ifneeded SOAP::Utils 1.0.1 [list source [file join $dir utils.tcl]] package ifneeded SOAP::ftp 1.0 [list source [file join $dir ftp.tcl]] package ifneeded SOAP::http 1.0 [list source [file join $dir http.tcl]] diff --git xpath.tcl xpath.tcl index 14b0334..f33e02c 100644 --- xpath.tcl +++ xpath.tcl @@ -14,10 +14,9 @@ # for more details. # ------------------------------------------------------------------------- -if { [catch {package require dom 2.0}] } { - if { [catch {package require dom 1.6}] } { +namespace eval ::SOAP {variable domVersion} +if { [catch {package require dom} ::SOAP::domVersion] || [package vcompare $::SOAP::domVersion 1.6] < 0} { error "require dom package greater than 1.6" - } } namespace eval SOAP::xpath { |
[…]
Read moreValspeak
The valspeak is a variant of American English spoken in California. Let me rewrite that correctly: The valspeak is ya know, like, a variant of American English, fer shure, spoken in California. In 1986, someone asks on the net.sources newsgroup the source of a small software to make this kind of conversion. To celebrate the […]
Read moreApache 2 + PHP 5 / CGI + SuEXEC
Want a very secure Apache / PHP setup?
SuEXEC allows CGI execution under user own accounts and not webserver one. So, if a security hole is exploited through a script, that’s normally – if your FreeBSD server is correctly chmoded – gives access to resources.
The genuine SuEXEC drawback is you’ve to prefix each, as any other CGI script (remember #!/usr/bin/perl ?). We’ll slightly edit the SuEXEC.c code to avoid that.
SuEXEC will force you to chmod correctly and securely your web content: 700 the scripts, 711 the directories (755 to allow list them). If that’s sounds too paranoid or you’re tired of your users’ complaints, you can ask SuEXEC to ignore permissions check (but what’s the interest of this method in this case? You should consider chroot instead.). If you’re a console guru, I’ve coded an autochmod script to make our life paranoid but easier 😉
Read more