New-DJBDNS: User comments


+-- On Thursday, 30 January 2014 6:10 PM, Timbo wrote --+
|First of all, can I say THANK YOU for making DJBDNS useful.
|I've always had to fight with it and seeing it pop up on EPEL
|in a useful rpm format that used service and chkconfig, etc
|really made my day.
|I'm basically converting all my servers from using my home-brew
|compiled djbdns to yours.
|Anyway, thanks again for all your great work.

Best email of the week! Thank you Tim!! 🙂


New-DJBDNS 1.05.9


I feel extremely happy to announce that a new release, version 1.05.9, of the N-DJBDNS is out and available for download

    at ->

(For the uninitiated) N-DJBDNS is the brand new, totally revamped and renovated version of the djbdns. It has lots of great features which make it all worth it to give it a try. 🙂

This release includes three major features along with the numerous enhancements to the code base, which significantly improve the quality of the software. The three major features are

* Human readable logging support in the root server: continuing the changes which began in the last release, this release concludes the logging changes by unifying the two loggers, one of root servers’ & another of dnscache(8) resolver’s into one. Thus enabling consistent, human readable log structure and format across all servers. It greatly helps to remove redundant code base. It significantly eases the task of maintenance.

* Xinetd(8) and Systemd(1) support for axfrdns(8): The DNS zone transfer server axfrdns(8) was broken[#3], because it used to depend on the ‘tcpserver’ for listening on its behalf. This issue is fixed with the new configurations which enable the axfrdns(8) server to work with Xinetd(8) & Systemd(1) services. Thanks to Jason Clark & Edwin Eefting for helping with the comprehensive reviews and testing.

* DNS(or domain) Block List in dnscache(8): This I think is the most important feature of this release. DNS Block List is a list of domain names which are to be blocked by the resolver. Client requests querying for such domains are dropped by the server. This would add an additional layer of security for DNS clients and also help to reduce malicious traffic.

DNS block list is a ‘cdb’ database created using tinydns-data(1) tool. tinydns-data(1) creates the ‘cdb’ database from a ‘data’ file. List the malicious domain names in this ‘data’ file as generic domain records, one on each line, as:

Number ‘284’ is not used, it can be any integer between 256..65535. tinydns-data(1) would create a ‘data.cdb’ database from this ‘data’ file. Rename ‘data.cdb’ to ‘dnsbl.cdb’, for that is the file read by dnscache(8) resolver.

    $ mv data.cdb dnsbl.cdb

dnscache(8) reads ‘dnsbl.cdb’ from its working($ROOT) directory defined in its configuration file. For starters, I created a domain list from the data set. Being a set of phishing URLs, the list has few false positives though.

    $ python -m json.tool online-valid.json | grep -i ‘”url”: “http’ –    \
         | cut -d’/’ -f3 | sort | uniq | awk -e ‘{ print “:”$0″:284::::”; }’ | tee data

Hope you find it helpful. 🙂

One billion per day


Recently one of India’s much loved entrepreneur, business leader, current bureaucrat and a prospective politician Mr Nandan Nilekani said – Only 30 million Indians pay taxes, that’s 3%. And we(India) need to involve more people into the game to achieve what he calls growth through inclusion. I was surprised to read it. It’s unbelievable.

I still can not seem to get over it. It feels unfair. Why am I dutifully paying taxes when 97% of India isn’t? I have been thinking and talking about it. Does it mean 97% of India earns less than Rs 2,00,000/year?(Those who earn less than Rs 2,00,000/year are exempted from paying income tax) That can not be true. So who are these people who earn money but don’t pay taxes?

   0. Corporate salaried employees pay taxes. That is sure.
   1. My maid, earns less than Rs 10,000/month, exempted from tax.
   2. Auto Rikshaw driver, Rs 500-1000/day, pay taxes? I don’t know.
   3. Paani puri & Chai vendor, Rs 500-1000/day, pay taxes? I don’t know.
   4. Grocer, earns taxable income, pay taxes? I don’t know.
   5. Vegetable vendor, earns taxable income, pay taxes? I don’t know.
   6. Business men & Freelance worker, taxable income, pay taxes? I don’t know.
   7. Professionals(priests,doctors,lawyers,actors), taxable income, pay taxes? I don’t know.
   8. Farmers, Brokers, Property owners, taxable income, pay taxes? I don’t know.

I was thinking about this to increase the number of tax payers from current 30 million to say 100 million, ie. 10%. Some improvement. But the more I think, the more it seems impossible to increase the number of tax payers. Because there is no reliable way to know how much these people really earn. We just have to take their word for it. Unless we route every money transaction through a government monitored payment gateway; Which is not happening, at least for now. And even if it was there, I’m sure people will find ways to beat it. So then how do we increase the number of tax payers? How do we involve more people into the game?? If we did, we could abolish the current unfair Income Tax regime which only involves 3% of the India’s population.

In the same article wherein Mr Nilekani quoted the above figure, he also mentioned that India today has more than 700 million mobile subscribers and some 150 million internet users. Let’s say, of these 700 million mobile users, 500 million make 1 call a day(let’s be conservative). If we attach a tax of Rs 1 per call, we get Rs 500 million in one day. According to this study, we currently have around 150 million cable TV subscribers. We are a family oriented nation; We watch TV with our family, right? Roughly 4 people watch TV together? If we attach a tax of Rs 1/head/day we get Rs 600 million per day. Similarly, nearly 75 million people travel every day in India. That includes Indian Railways + State Road Transport buses + City Metropolitan Transport(buses + Metro trains) + Air travellers. If we attach a minimum tax say Rs 4/head/trip we stand to collect around Rs 300 million in one day.

   + 500,000,000 calls/day    x  Rs 1/call   = Rs 500,000,000/day
   + 150,000,000    TV/day   x  Rs 4/day   = Rs 600,000,000/day
   + 075,000,000 travel/day  x  Rs 4/head = Rs 300,000,000/day

That’s collection of Rs 1.4 Billion per day. And the tax per head is hardly Rs 6/day, Rs 180/month, Rs 2160/head/year. I’m sure our able bankers and elite economists can figure out a scheme to balance out such a tax structure so that our phone/cable/travel bills don’t shoot up through the sky and we don’t feel the pinch on our wallet. Couple of years ago there was a talk of implementing a revised Income Tax scheme called – Direct Tax Code – I wonder what happened to that.




I’m pleased to announce a yet another release of the New-DJBDNS. The latest version 1.05.8 is now available in source and RPM package format from its home page:

    at ->

Both Fedora and EPEL updates have been pushed and shall be soon available via the stable repositories using Yum(8).

    # yum install ndjbdns

The major and rather important change has been made to the caching server dnscache’s logs. Now these logs are arranged in chronological order with timestamps and readily comprehensible information. Earlier, most of it was cryptic hexadecimal values and numbers.

It is extremely important to have meaningful logs in place along with the secure logging mechanisms. Especially in the light of the recent events like the SEA DNS attack on or little earlier Distributed DoS attack against DNS servers etc. When responding to such events, having meaningful logs in place is but instrumental. Because the logs can tell you about the origins of these requests, quantities and distribution patterns of such requests across multiple sources and continents. A lot many conclusive findings can be derived from carefully crafted logs. But the lack of them could just make the matters equally worse for the defenders.

I planned to include similar updates to the root server tinydns’s logs too, but that got delayed a little because of some travel and work. Other major changes include addition of a new root server to the global list, and a bug fix update to the logrotate(8) configuration file.

I hope you find it helpful. 🙂

Of sustainability and current account deficit


Last weekend The Economic Times published couple of excellent speeches by two of India’s most eminent business leaders. One was by Mr Harish Manwani, Chairman, Hindustan Unilever Limited and second was by Mr Y C Deveshwar, Chairman, ITC Limited. While both the speeches make for an excellent read, I wish to reproduce here, short excerpts which I think deserve a wider audience.


The third megatrend is the changing relationship between humanity and the planet we inhabit. Scientific evidence has proven beyond any doubt that today we are living beyond our means. Living beyond our means not just in a financial sense (which has already led to the 2008 financial crisis), but also in an environmental sense. You can see the impact already in the loss of bio-diversity, unpredictable weather patterns and natural disasters.

Today, according to the World Wildlife Fund, we are consuming the resources of 1.5 planets. The human population took more than 250,000 years to reach the 1 billion mark in the 1800s. It took a century more to reach 2 billion in 1927. It then took us only 32 years to reach 3 billion around 1960 and only 50 years since then to add another 4 billion to reach 7 billion in 2011. By 2050, there will be another 2.3 billion more people on earth sharing the same space we have today. Almost all of them will be in the developing world. If the developing world consumed in the future at the rate the developed world consumes today, we would need somewhere between 3-5 planets. Obviously, that is not sustainable.

India’s economic challenges:

To my mind, one of the most critical problems hindering India’s growth prospects is the unsustainable Current Account Deficit…Therefore, it is very clear that the only sustainable solution to tackle the large Current Account Deficit is to create extreme competitiveness in higher value-added goods and services…It is my belief that tomorrow’s world belongs to those who create, nurture and own intellectual property…Therefore, creation of intellectual property assets is a vital pre-requisite for attaining international competitiveness.

The Indian Global Market: Dominance of Foreign Brands

In recent times, several media reports have drawn attention to the extraordinary increase in royalty payments to overseas entities. The ET Intelligence Group in one such report brought out that royalty payments by Indian arms of top MNCs have trebled over the past 5 years. The report points out that in FY12, 306 listed companies paid royalty and technical fees aggregating almost Rs 35,000 crores. A similar analysis by Business Standard of 75 BSE500 companies reveals that these firms paid out royalty equivalent to 32% of their net profits in FY12.

It is perfectly legitimate that owners of intellectual property seek returns for the use of their assets. However, these media reports have highlighted that the sudden surge in payments took place following the removal of the ceiling on royalty payments in December 2009. These reports seem to suggest that a substantial part of this increased outflow was on account of payments made by the Indian subsidiaries to their overseas parent for the use of brand names established several decades ago. It was further indicated that this spurt in payments did not reflect any noteworthy value-addition from technology transfer by the foreign entities. These media articles also expressed concern at the adverse impact of this huge outflow on minority shareholders and on the exchequer.

Reflecting on these reports, it must be said that the concerns expressed are not without merit. At the core of this issue is the increasing consumption of foreign-owned brands by a rising population with growing per capita income. These range from run-of-the-mill to high-end luxury products. A closer look, however, reveals an unnerving picture. Today, even for items of daily consumption, the brands consumed by millions of households in India are predominantly owned by overseas enterprises.

The list is large and unending. Be it baby food, baby care products, home care & personal care products, toothpastes, toothbrushes, shaving creams, razors, breakfast cereals, snack foods, tea, coffee, cosmetics, soaps, shampoos, detergents, dish cleaners, beverages, ice creams, chocolates, confectionery, non-generic pharmaceuticals, washing machines, music systems, personal computers, laptops, refrigerators, mobile phones, televisions, cameras, air conditioners, apparel & fashion accessories, stationery products, toys, console games, sports and fitness equipment, luggage, diapers, sanitary napkins, burgers and pizzas, automobiles and many others, including even packaged drinking water, the leading brands in the Indian market are the property of foreign enterprises. Every time these products are consumed, value flows out of the country to pay for trademarks used, licences provided, services consumed and so on. With rising aspirations and growing disposable incomes, this outflow has the potential to increase exponentially over time. These foreign brands have so much been a part of the daily lives of Indian households, and for so long, that most people would genuinely think that they are Indian brands. A majority would have no inkling that every purchase would send value out of the country to the foreign owners.

This unenviable situation is indeed a disheartening reflection of the competitive capacity of India’s home-grown brands. Despite so many years of Independence and the country’s multi-dimensional strengths, it is a sad augury that we do not possess globally competitive brands created by Indian enterprises. True, there are worthy exceptions. Indian consumer brands such as Airtel, Amul, Bajaj, Godrej, Hero, Mahindra, Reliance, Tata, amongst others have found a pride of place in Indian households. Yet these examples are few and far between. For the most part, India’s market space has been abdicated to foreign-owned brands.

Be that as it may, apart from a re-examination of the merits of the revised policy currently in force, this issue also needs to be looked through a different lens altogether. Instead of bemoaning the huge outgo in terms of royalty or other payments, it is much more important to align national and corporate energies to create world-class Indian brands. Domestic enterprises must build globally competitive brands that can compete with the best in the world on equal terms. In the first instance, such brands by gaining larger franchise in the Indian global market would reduce the outflow on account of consumption of foreign brands in India. Over time, such world-class Indian brands can aspire to win global markets generating an additional flow of wealth into the country.

Need to Build Innovative Capacity and World-Class Indian Brands

World-class brands lend a huge intangible value to products and services enabling them to command a premium and loyalty from consumers. Truly world-class brands are an asset that transcends cultural, geographical and sovereign borders to continuously enrich their owners. Moreover, successful brands reflect the innovative capacity of the countries of their origin. When a country’s institutions build world-class brands, they enrich their economies. For example, the net sales of Samsung is equivalent to 20% of the GDP of South Korea. A successful global brand is a badge of honour for the country it belongs to, and a sustained source of wealth creation.

It is imperative to reiterate these facts & reports if we are to generate even slightest interest at an individual level. Idea is to spread awareness. It sort of resonates with my earlier post about the – Water.

Spare a moment to think about it.

[1] Speech by Mr Harish Manwani
[2] Speech by Mr Y C Deveshwar

LKML & Netiquettes


    Today I spent considerable time reading the now epic email thread “How to act on LKML“. It makes for an interesting read. Both, Sarah and the other kernel community members offer reasonable arguments for & against restricting use of abrasive language on LKML. Though the general consensus amongst the community members seems to be that, it is okay to use abrasive language because sometimes that is what conveys the message effectively and brings about the change you wish to see.

I disagree. In my view there is no justifiable reason to be abrasive, rude and demeaning to your co-workers and fellow developers. One can always convey their disappointment and disagreement in respectful manner. Respecting a person is imperative and disrespect is never acceptable. It is just not the right way to handle conflicts or express personal anger. It might get the job done but still not the right way. For the same reasons as why threat and intimidation are wrong methods to get the job done(banks in India employ recovery agents who use such means to recover loan amounts). Besides, we are dealing with diligent and thoughtful engineers; Not some kind of psychopathic criminals who’ve raped 30 children and 50 women.

In India, (I feel embarrassed to say) women and children are raped, abused every day. Every single day. Sometimes they are killed after the rape, sometimes burned alive, sometimes left to die or live a slow death. People protest, raise concerns, discuss and debate. Once there was a national eruption of anger and cry for action. But nothing changes. Life goes on, rapes go on. Every time these discussions and debate happen, the talking heads argue that people(men) in India must change their mentality and mindset towards women. They must respect women and treat them justly.

But how did this mentality came to be in the first place? Did it happen over-night? In last 10-20-30 years?? I think it’s a baggage from ages. If you grow-up watching your father abuse and beat your mother, you are more than likely to resort to the same measures when in a similar situation. Because that is what you know and that is what is normal for you. At some point in time, somebody in a powerful position failed to establish the norm or just wrongly defined what is acceptable. For generations people did not, perhaps could not oppose and it became a standard practice. An accepted behaviour. It is ingrained so deep in our psyche that we don’t even notice when something inappropriate is said. You use the ‘F’ word and it just flows unnoticed. It is no longer inappropriate. There is a new norm.

It sets a bad precedent when people in powerful positions use disrespectful and demeaning language to convey their anger, disappointment and disagreement. Even if they have all the reasons to do so. Because it spoils the environment and sets a bad mood. It thwarts genuine useful dialogue and discourse. Plus others who look up to these people and hero worship them are likely to follow their suit.

It is really funny to see so many developers projecting the fact that Linus rebuked them as some kind of badge of honour. And justify him saying he can do that because he is Linus; He is not rude to new comers but only to his trusted folks from whom he expects better. May be Linus is thoughtful enough to do that. Who is to say tomorrow these same followers and fan boys would be thoughtful too. I also wonder if they would put up with someone else using the same language with them. I have seen numerous verbal abuses and insults. Managers insult subordinates, senior engineers yell at their peers and junior ones imitate. It is always an unpleasant experience. Not just for the person who is at the receiving end of the flak, but the entire surrounding.

Today Linus has a unique opportunity to set the precedent right. Even if he believes that it is okay to curse when you are angry. It is justified to vent out venom when it is called for. Even if his maintainers don’t object to him doing so. If he decides to refrain from disrespecting other developers; If he makes a choice to be respectful to others even when he is angry, he could establish the new norm. His choice will have far reaching effects not only on the kernel community but even wider groups on the internet as well as off it. We might witness the history shift its gears, turn around the corner and accelerate in a bright new sunshine direction.

…let’s see! 🙂