<feed xmlns='http://www.w3.org/2005/Atom'>
<title>pakakeh.go, branch v0.8.0</title>
<subtitle>Collections of packages and tools for working with Go programming language.</subtitle>
<id>http://git.kilabit.info/pakakeh.go/atom?h=v0.8.0</id>
<link rel='self' href='http://git.kilabit.info/pakakeh.go/atom?h=v0.8.0'/>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/'/>
<updated>2019-07-09T15:18:58Z</updated>
<entry>
<title>share v0.8.0</title>
<updated>2019-07-09T15:18:58Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2019-07-09T15:15:35Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=2edb40e760e26284eaa14bfdc1744349e9889b9d'/>
<id>urn:sha1:2edb40e760e26284eaa14bfdc1744349e9889b9d</id>
<content type='text'>
===  Breaking changes

*  All ASCII related contants and functions now being moved from `bytes`
   package to `ascii` package.

===  New Features

*  ascii: new library for working with ASCII characters

===  Enhancements

*  dns: add method to restart forwarders
*  dns: add fallback nameservers
*  ini: create new section or variable if not exist on Set
</content>
</entry>
<entry>
<title>dns: use channel to stop all forwarders</title>
<updated>2019-07-09T15:15:44Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2019-07-04T15:44:06Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=dc709c767b73a6582416cc98e880ffdc96003dee'/>
<id>urn:sha1:dc709c767b73a6582416cc98e880ffdc96003dee</id>
<content type='text'>
Previously, we use a boolean condition to stop all forwarders by setting
it to false.  But, this method does not work because using select
statement with single case, will block the process.

This change, allocated a new boolean channel for each forwarders, that
is stored on server fields and when we need to stop or restart all
forwarders, we send the boolean value "true" to each channel.
</content>
</entry>
<entry>
<title>ini: add an empty line before section statement</title>
<updated>2019-07-09T15:15:44Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2019-06-24T17:06:42Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=9283d0f1385a63e1955150a4d2a36d5207a1f66b'/>
<id>urn:sha1:9283d0f1385a63e1955150a4d2a36d5207a1f66b</id>
<content type='text'>
For readibility, each section should start with an empty line.
</content>
</entry>
<entry>
<title>dns: replace goto with boolean condition for restarting UDP forwarder</title>
<updated>2019-06-24T16:52:33Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2019-06-24T16:52:33Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=7cd0290b065ea9f6a09bd180aeafd8f113b7c617'/>
<id>urn:sha1:7cd0290b065ea9f6a09bd180aeafd8f113b7c617</id>
<content type='text'>
</content>
</entry>
<entry>
<title>dns: recreate the DoH forwarder when query fail</title>
<updated>2019-06-24T16:52:05Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2019-06-24T16:52:05Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=dada906a238c080333c1d6483ab7c1b3f0fe849b'/>
<id>urn:sha1:dada906a238c080333c1d6483ab7c1b3f0fe849b</id>
<content type='text'>
When query with DoH forwarder return an error, we assume that there is
a problem with the connection.  To mitigate the problem when subsequent
query using broken connection return an error, we close the forwarder
connection and create a new one.
</content>
</entry>
<entry>
<title>dns: add fallback nameservers</title>
<updated>2019-06-18T07:44:44Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2019-06-18T07:40:53Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=2516d2d69c5535a50fc72403066b95a86bf225a4'/>
<id>urn:sha1:2516d2d69c5535a50fc72403066b95a86bf225a4</id>
<content type='text'>
The fallback nameservers is another list of parent name servers that
will be queried if the primary NameServers return an error.
</content>
</entry>
<entry>
<title>ini: create new section or variable if not exist on Set</title>
<updated>2019-06-18T07:09:32Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2019-06-18T07:09:32Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=9b95ec0755219146afbe7a854aa0d2cc65e15f97'/>
<id>urn:sha1:9b95ec0755219146afbe7a854aa0d2cc65e15f97</id>
<content type='text'>
Previous behaviour of Set() method will return false if the section
or subsection of key to be set not found on database.

This commit change the behaviour of Set().  If no section or subsection
found on database, the new section with key-value will be created.
If no key found, the new key-value will be added to the specific section.
</content>
</entry>
<entry>
<title>dns: add method to restart forwarders</title>
<updated>2019-06-16T07:36:27Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2019-06-16T07:36:27Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=45432e60ecbc4c2bab43a9912ee7de108befd13b'/>
<id>urn:sha1:45432e60ecbc4c2bab43a9912ee7de108befd13b</id>
<content type='text'>
The RestartForwarders method allow server to change the parent nameserver
address to new one.  An example of use case is when system change the
network through WiFi, which cause the nameserver address also change
in the resolv.conf file.
</content>
</entry>
<entry>
<title>ascii: new library for working with ASCII characters</title>
<updated>2019-06-14T12:02:22Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2019-06-14T12:02:22Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=8d5ffba2d9483f049385d37bc468f2a114548eb0'/>
<id>urn:sha1:8d5ffba2d9483f049385d37bc468f2a114548eb0</id>
<content type='text'>
This library previously part of bytes package.  To make it bytes package
consistent (only working with slice of byte), we move all ASCII related
constants, variables, and functions into new package.
</content>
</entry>
<entry>
<title>share v0.7.0</title>
<updated>2019-06-14T11:12:02Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2019-06-14T11:12:02Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/pakakeh.go/commit/?id=381a0c6e6dfc702ffbbd398abaae356f4e075a0e'/>
<id>urn:sha1:381a0c6e6dfc702ffbbd398abaae356f4e075a0e</id>
<content type='text'>
This release bring major refactoring on `ini` package to provide a clean
and simple API.

===  Breaking Changes

*  ini: major refactoring
*  net: add parameter to check Fully Qualified Domain Name on
   IsHostnameValid

===  New Features

*  spf: implementation of Sender Policy Framework (RFC 7208)
*  ssh: package ssh provide a wrapper to golang.org/x/crypto/ssh

===  Enhancements

*  dns: add function to lookup PTR record by IP address
*  dns: export Lookup method as part of Client interface
*  doc: regenerate to use new style
*  http: print the not-found path on Server's getFSNode()
*  ini: add method Vars that return all variables as map
*  ini: add method to Rebase other INI object
*  ini: add method to add, set, and unset variable
*  ini: add method to convert key-value to map
*  ini: add method to get section object by section and/or subsection name
*  ini: add method to get variable values as slice of string
*  ini: add method to prune INI variables
*  ini: add methods to support templating
*  io: add function to check if content of file is binary
*  net: add function to check if IP address is IPv4 or IPv6
*  net: add function to convert IPv6 into dot format
*  ns: set log flag to 0, without time prefix
*  strings: add function to append uniq values to slice of strings

===  Bug Fixes

*  io: watch changes on sub of sub directories on DirWatcher
*  dns: substract the message TTL when the answer found on cache
*  dns: always return true when answers RR exist and no TTL is zero
</content>
</entry>
</feed>
