Closed Bug 58874 Opened 24 years ago Closed 24 years ago

Network is not working for BeOSR5 net_server - patch

Categories

(Core :: Networking, defect, P3)

x86
BeOS
defect

Tracking

()

VERIFIED FIXED

People

(Reporter: VYA04230, Assigned: ykoehler)

Details

Attachments

(1 file)

*SUMMARY*Currently, Mozilla's Networking is unavailable for current BeOSR5.I made a patch to fix this bug.*CAUSE OF THIS BUG*I found that the networking stopped by an error at DNS code.Specifically, nsDnsService.cpp .*RESULT OF FIX*I can load remote HTML on startup(www.mozilla.org) or click on a bookmark. But click on a link on a HTML Page doesn't properly work. This seems to be another bug on widget.
Keywords: patch, review
r=matt@hottub.org

There is no async. DNS code in the BeOS implementation of Mozilla.  This patch 
enables the same workarounds used to perform syncronous DNS lookups on UNIX and 
other platforms.

This patch should be relatively harmless to other platforms, and is a blocker 
if Mozilla is to run on BeOS under the current network stack.

- Matt
setting bug status to New
Status: UNCONFIRMED → NEW
Ever confirmed: true
If it's the same as setting the Synchronous DNS stuff why should we patch the code?  I can instead change the build instruction so that one has to include the 

ac_add_options --disable-async-dns

instead no?
Status: NEW → ASSIGNED
Reply to Yannick.

The code in nsDnsService.cpp seems to be completely independent of the
--disable-async-dns flag.  Maybe the "async" code is further down within
routines called from this.  Maybe only Windows has async code right now.

Without this patch, there is really no code that does the *actual* lookup within
nsDNSService::InitiateLookup for BeOS.  All the actual lookup code is #ifdef'd
in per platform, and the default case is no call to a lookup routine.

Here's my conjecture.  Within nsDNSService the --disable-async-dns flag is a
non-operation.  Windows has async calls, but UNIX only currently does sync. (Mac
looks like it's async too, but I'm not sure)

- Matt
More on the above...

I found the --disable-async-dns flag.  It affects unix-dns.c in that directory.
 It's only valid if XP_UNIX is also defined...

#if defined(XP_UNIX) && defined(UNIX_ASYNC_DNS)

As far as I can tell, unix-dns.c is depreciated - it's not included in the
Makefile and looks unused.  I don't know for sure.  I haven't looked at the
build rules to determine if they make an exception for that file.  I doubt it.
I think that UNIX, right now, only has sync. DNS patched in.

So, regarding this patch - it is necessary to enable sync. DNS on BeOS until we
write our own async DNS handler for BeOS (and get better performance than UNIX
to boot when we do!)

- Matt
Only Mac and Windows have async implementations at the moment.  Perhaps we should 
change the code to use #ifdef SYNC_DNS rather than XP_UNIX in 
nsDNSLookup::InitiateLookup().  That way other platforms could specify it as 
well.
That would be nice Gordon.  I'm going to visit that patch later in the day 
hopefully.

Based on comment from Matt seems like we need that patch in at least until we 
get BONE and/or Async implemented in both net_server/BONE.

Can we open another bug for dealing with SYNC_DNS change?
That patch seems like a no-brainer.  It actually loaded up some web page which is cool.  Now the problem is that the "input" system doesn't seems to work properly.

I'm waiting to fix the 55674 completely and then I'll work on that one.  I need a reviewer anyone interested ?  That patch is only adding #ifdef XP_BEOS where UNIX is set.
r=valeski
sr=mscott..sorry for the delay.
patch committed yesterday
Status: ASSIGNED → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
verified
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: