| 1 | /* | 
|---|
| 2 | *   Copyright (c) 2010 Wang Lei | 
|---|
| 3 | *   Author(s): Wang Lei (wang840925@gmail.com). All Rights Reserved. | 
|---|
| 4 | * | 
|---|
| 5 | *   Internal DNS Rsolver stuff | 
|---|
| 6 | * | 
|---|
| 7 | *   This library is free software; you can redistribute it and/or modify | 
|---|
| 8 | *   it under the terms of the GNU Lesser General Public License as published | 
|---|
| 9 | *   by the Free Software Foundation; either version 2.1 of the License, or | 
|---|
| 10 | *   (at your option) any later version. | 
|---|
| 11 | * | 
|---|
| 12 | *   This library is distributed in the hope that it will be useful, | 
|---|
| 13 | *   but WITHOUT ANY WARRANTY; without even the implied warranty of | 
|---|
| 14 | *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See | 
|---|
| 15 | *   the GNU Lesser General Public License for more details. | 
|---|
| 16 | * | 
|---|
| 17 | *   You should have received a copy of the GNU Lesser General Public License | 
|---|
| 18 | *   along with this library; if not, see <http://www.gnu.org/licenses/>. | 
|---|
| 19 | */ | 
|---|
| 20 |  | 
|---|
| 21 | #include <linux/compiler.h> | 
|---|
| 22 | #include <linux/kernel.h> | 
|---|
| 23 | #include <linux/sched.h> | 
|---|
| 24 |  | 
|---|
| 25 | /* | 
|---|
| 26 | * Layout of key payload words. | 
|---|
| 27 | */ | 
|---|
| 28 | enum { | 
|---|
| 29 | dns_key_data, | 
|---|
| 30 | dns_key_error, | 
|---|
| 31 | }; | 
|---|
| 32 |  | 
|---|
| 33 | /* | 
|---|
| 34 | * dns_key.c | 
|---|
| 35 | */ | 
|---|
| 36 | extern const struct cred *dns_resolver_cache; | 
|---|
| 37 |  | 
|---|
| 38 | /* | 
|---|
| 39 | * debug tracing | 
|---|
| 40 | */ | 
|---|
| 41 | extern unsigned int dns_resolver_debug; | 
|---|
| 42 |  | 
|---|
| 43 | #define	kdebug(FMT, ...)				\ | 
|---|
| 44 | do {							\ | 
|---|
| 45 | if (unlikely(dns_resolver_debug))		\ | 
|---|
| 46 | printk(KERN_DEBUG "[%-6.6s] "FMT"\n",	\ | 
|---|
| 47 | current->comm, ##__VA_ARGS__);	\ | 
|---|
| 48 | } while (0) | 
|---|
| 49 |  | 
|---|
| 50 | #define kenter(FMT, ...) kdebug("==> %s("FMT")", __func__, ##__VA_ARGS__) | 
|---|
| 51 | #define kleave(FMT, ...) kdebug("<== %s()"FMT"", __func__, ##__VA_ARGS__) | 
|---|
| 52 |  | 
|---|