summaryrefslogtreecommitdiff
path: root/source3/nmbd/asyncdns.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2004-03-15 21:45:45 +0000
committerJeremy Allison <jra@samba.org>2004-03-15 21:45:45 +0000
commitce0c99312c7da78679357610730ba5b60f4319b9 (patch)
treeb1b35c4e6bb6ab27e5d945f86fded1b86bc8daff /source3/nmbd/asyncdns.c
parent96c66b7be726b2361f18edde01d7b71e124e33e7 (diff)
downloadsamba-ce0c99312c7da78679357610730ba5b60f4319b9.tar.gz
samba-ce0c99312c7da78679357610730ba5b60f4319b9.tar.bz2
samba-ce0c99312c7da78679357610730ba5b60f4319b9.zip
Use "unix netbios name" type unstring - 64 bytes long to manipulate netbios
names in nmbd. Allows conversion from dos codepage mb strings (ie. SJIS) to expand to utf8 size on read. Jeremy. (This used to be commit 834d816caf9cd6318da00febde50d9233469dac2)
Diffstat (limited to 'source3/nmbd/asyncdns.c')
-rw-r--r--source3/nmbd/asyncdns.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/source3/nmbd/asyncdns.c b/source3/nmbd/asyncdns.c
index dafbff7af2..653cb97fbb 100644
--- a/source3/nmbd/asyncdns.c
+++ b/source3/nmbd/asyncdns.c
@@ -27,7 +27,7 @@
static struct name_record *add_dns_result(struct nmb_name *question, struct in_addr addr)
{
int name_type = question->name_type;
- fstring qname;
+ unstring qname;
pull_ascii_nstring(qname, sizeof(qname), question->name);
@@ -81,7 +81,7 @@ int asyncdns_fd(void)
static void asyncdns_process(void)
{
struct query_record r;
- fstring qname;
+ unstring qname;
DEBUGLEVEL = -1;
@@ -89,8 +89,7 @@ static void asyncdns_process(void)
if (read_data(fd_in, (char *)&r, sizeof(r)) != sizeof(r))
break;
- fstrcpy(qname, r.name.name);
-
+ pull_ascii_nstring( qname, sizeof(qname), r.name.name);
r.result.s_addr = interpret_addr(qname);
if (write_data(fd_out, (char *)&r, sizeof(r)) != sizeof(r))
@@ -321,7 +320,7 @@ BOOL queue_dns_query(struct packet_struct *p,struct nmb_name *question,
struct name_record **n)
{
struct in_addr dns_ip;
- nstring qname;
+ unstring qname;
pull_ascii_nstring(qname, question->name);