Closed
Bug 70217
Opened 24 years ago
Closed 23 years ago
Todo: Get PSM(2) working under BeOS
Categories
(NSS :: Libraries, defect, P2)
Tracking
(Not tracked)
VERIFIED
FIXED
3.4
People
(Reporter: rosenauer, Assigned: wtc)
References
()
Details
(Whiteboard: helpwanted)
Attachments
(3 files, 14 obsolete files)
571 bytes,
patch
|
shaver
:
approval+
|
Details | Diff | Splinter Review |
2.01 KB,
patch
|
shaver
:
approval+
|
Details | Diff | Splinter Review |
21.24 KB,
patch
|
netscape
:
review+
shaver
:
approval+
|
Details | Diff | Splinter Review |
My bank-account is not reachable with Mozilla/BeOS 2001021912. Go to http://www.bawag.at then click on "Internet Banking" in the icon-bar at the bottom (the URL specified above). This should bring you to a login-page, but instead a new window is opened and nothing happens.
Reporter | ||
Comment 1•24 years ago
|
||
This is what the terminal outputs when trying to load the URL: Error loading URL https://eb03.bawag.com/webbank/bawag/webbank.htm: 804b0033
Component: Networking: HTTP → Security: Crypto
Summary: Page not loaded → Secure page fails to load with Error 804b0033
Comment 2•24 years ago
|
||
Can you verify that you have PSM installed?
Reporter | ||
Comment 3•24 years ago
|
||
Sorry, just read that in BeOS SSL does not work yet :-( I did not find this bug on bugzilla, so it may still be useful as a reminder:)
Comment 4•24 years ago
|
||
Reassigning to owner of Security:Crypto
Comment 5•24 years ago
|
||
Let me try that again...
Assignee: darin → ddrinan
QA Contact: tever → junruh
Updated•24 years ago
|
Status: UNCONFIRMED → NEW
Ever confirmed: true
Summary: Secure page fails to load with Error 804b0033 → Todo: Get PSM working under BeOS
Comment 6•23 years ago
|
||
I made a futile attempt at getting psm2 building under BeOS. I got up to thelinking of mozilla/security/nss/lib/ before I hit another roadblock. Was anundefined ref to main().Here are the diffs on the files I modified to get compiling so I could get tothat point.How I built:added to ~/.mozconfig---export MOZ_NSS_AUTOCONF=1ac_add_options --enable-cryptomk_add_options MOZ_NSS_AUTOCONF=1---did ./configure, make -f client.mk checkout, then make -f client.mk buildThis of course requires you have GUI autoconf installed which is not part of thedefault BeOS distribution. Getting the archive from ftp.gnu.org and changing/usr/local to /boot/beos in the configure script got it to compile and install fine.If anyone else has ideas I'd appreciate the help.
Summary: Todo: Get PSM working under BeOS → Todo: Get PSM(2) working under BeOS
Comment 7•23 years ago
|
||
Comment 8•23 years ago
|
||
Comment 9•23 years ago
|
||
Ugh. NetPostive screwed up my last post. Here are the comments again: I made a futile attempt at getting psm2 building under BeOS. I got up to thelinking of mozilla/security/nss/lib/ before I hit another roadblock. Was anundefined ref to main(). Here are the diffs on the files I modified to get compiling so I could get tothat point. How I built: added to ~/.mozconfig --- export MOZ_NSS_AUTOCONF=1 ac_add_options --enable-crypto mk_add_options MOZ_NSS_AUTOCONF=1 --- did ./configure, make -f client.mk checkout, then make -f client.mk build This of course requires you have GNU autoconf installed which is not part of the default BeOS distribution. Getting the archive from ftp.gnu.org and changing/usr/local to /boot/beos in the configure script got it to compile and install fine .If anyone else has ideas I'd appreciate the help.
Updated•23 years ago
|
Component: Security: Crypto → Client Library
Product: Browser → PSM
Version: other → 2.0
Reporter | ||
Comment 10•23 years ago
|
||
Maybe, until PSM is available on BeOS, Mozilla should display an error "PSM not installed / available" so the user is not confused why the page stops loading?
Comment 11•23 years ago
|
||
This should actually be assigned to the NSS team.
Component: Client Library → Libraries
Product: PSM → NSS
Target Milestone: --- → 3.3
Version: 2.0 → 3.2.1
Comment 12•23 years ago
|
||
Oops, forgot to click 'reassign bug'
Assignee: ddrinan → wtc
QA Contact: junruh → sonmi
Assignee | ||
Updated•23 years ago
|
Status: NEW → ASSIGNED
Target Milestone: 3.3 → ---
Comment 13•23 years ago
|
||
Comment 14•23 years ago
|
||
building, but we aren't in the clear yet. https://despot.mozilla.org and https://www.verisign.com produce: - http://ezri.org/nss.jpeg https://www.sourceforge.net produces a blank white page.
Comment 15•23 years ago
|
||
My guess is that we're hitting what bryner thinks is a classic blocking problem. I ran a build while logging nsSocketTransport and the logfile seems to indicate that we are being blocked when we try to write the GET request to the socket.
Comment 16•23 years ago
|
||
Assignee | ||
Updated•23 years ago
|
Priority: -- → P1
Target Milestone: --- → 3.2.2
Assignee | ||
Comment 17•23 years ago
|
||
If you generate a patch for NSS against NSS_CLIENT_TAG (which requires you to build Mozilla with MOZ_NSS_AUTOCONF unset), I'll be happy to review your patch and check it in.
Assignee | ||
Updated•23 years ago
|
Priority: P1 → P2
Comment 18•23 years ago
|
||
Comment 19•23 years ago
|
||
Comment 20•23 years ago
|
||
Here's the updated BeOS changes against the NSS_CLIENT_TAG. They allow NSS to compile but Mozilla still cannot establish a secure connection. The changes really need to be closely reviewed by both someone intimately familiar with BeOS as well as someone intimately familiar with NSS.
Whiteboard: helpwanted
Comment 21•23 years ago
|
||
Chris, I want to try your patches but I have one question. Maybe a beginner question but, where should I place coreconf.mk at?
Comment 22•23 years ago
|
||
Copy attach 39999 to mozilla/security/coreconf/BeOS5.0.mk
Comment 23•23 years ago
|
||
Thanks. So I tried to make NSS. I applied your 40000 patch and placed BeOS5.0.mk. Then, make -f client.mk build on /mozilla/. But errors occured. >make[2]: Entering directory `/MOZILLA/bezillaA1/mozilla/security/nss' >cd lib; /bin/make install >make[3]: Entering directory `/MOZILLA/bezillaA1/mozilla/security/nss/lib' >cd crmf; /bin/make install >make[4]: Entering directory `/MOZILLA/bezillaA1/mozilla/security/nss/lib/crmf' >/bin/sh: ../../../coreconf/nsinstall/BeOS5.0_DBG.OBJ/nsinstall: No such file or directory >make[4]: *** [BeOS5.0_DBG.OBJ/crmfenc.o] Error 127 >make[4]: Leaving directory `/MOZILLA/bezillaA1/mozilla/security/nss/lib/crmf' ... and so on. It then compiled some .cpp files on security/manager/ssl/src but end up link error. And the make process was terminated. Then, I "cd" to security/coreconf and did "make". Then, coreconf/nsinstall/BeOS5.0_DBG.OBJ/nsinstall was created. I returned to /mozilla/. again and did "make". Then another errors occured, >make[3]: Entering directory `/MOZILLA/bezillaA1/mozilla/security/nss/lib/crmf' >gcc -o BeOS5.0_DBG.OBJ/crmfenc.o -c -g -fPIC -Di386 -Wall -pipe > -DXP_BEOS -DDEBUG -UNDEBUG -DDEBUG_baron -DBEOS >-I../../../../dist/BeOS5.0_DBG.OBJ/include -I../../../../dist/public/security >-I../../../../dist/private/security -I../../../../dist/public/dbm crmfenc.c >In file included from /MOZILLA/bezillaA1/mozilla/security/nss/lib/crmf/crmf.h:39, > from /MOZILLA/bezillaA1/mozilla/security/nss/lib/crmf/crmfenc.c:36: >/MOZILLA/bezillaA1/mozilla/dist/public/security/seccomon.h:47: prtypes.h: No > such file or directory and so on. I picked the gcc sentense and added "-I../../../../dist/include/nspr" manually, and tried to execute. Then it compiled crmfenc.c without an error. Can you guess which file is wrong?
Comment 24•23 years ago
|
||
It seems that the choice of whether debug/optimized build is not recognozed correctly. I was doing optimized build, but NSS want to do debug build, as it seems. Can NSS detect "ac_add_options --enable-optimize" in .mozconfig? Though, I did "export BUILD_OPT=1" . I added these lines and it can compile source files. INCLUDES += -I$(CORE_DEPTH)/../dist/include/nspr INCLUDES += -I$(CORE_DEPTH)/../dist/include Then, error occured during linking and I had to create mozilla/dist/BeOS5.0_OPT.OBJ/lib/libdbm.a by hand. Also copying mozilla/dist/BeOS5.0_OPT.OBJ/lib/* to mozilla/dist/lib/ was needed to make security/manager . Though, finally, NSS libraries were made. The results of accessing https sites are the same as the screenshot Wade Majors got. (My source tree is several days old)
Comment 25•23 years ago
|
||
If you want to build NSS standalone, you must follow the directions on the NSS build page, http://www.mozilla.org/projects/security/pki/nss/buildnss_31.html (I haven't tested that on BeOS). I just built NSS as part of mozilla by passing --enable-crypto to configure.
Comment 26•23 years ago
|
||
Ah, I tried again with just --enable-crypto and it builds ok ;-)
It seems that what was wrong is I added
>export MOZ_NSS_AUTOCONF=1
>ac_add_options --enable-crypto
>mk_add_options MOZ_NSS_AUTOCONF=1
to .mozconfig .
Assignee | ||
Updated•23 years ago
|
Target Milestone: 3.2.2 → 3.3.2
Assignee | ||
Updated•23 years ago
|
Target Milestone: 3.3.2 → 3.4
Comment 27•23 years ago
|
||
This patch will get mozilla to compile again with --enable-crypto. I did this, because I thought we might have fixed some of the previous problems fixed by Bug#71697. Well, upon the first trial after compiling, going to https://despot.mozilla.org, I get the following: HTTP/1.1 200 OK Server: Netscape-Enterprise/3.6 Date: Thu, 10 Jan 2002 03:58:45 GMT Content-type: text/html Last-modified: Sat, 29 Aug 1998 00:49:36 GMT Content-length: 374 Accept-ranges: bytes Connection: keep-alive HTTP/1.1 200 OK Server: Netscape-Enterprise/3.6 Date: Thu, 10 Jan 2002 03:58:45 GMT Content-type: text/html Last-modified: Sat, 29 Aug 1998 00: So, at least we get something now. Anyone have any ideas of where I should start looking? It seems we are loading the header, maybe? I do not know much about the security branch, so any help, what so ever, would be greatly appreciated!
Attachment #31712 -
Attachment is obsolete: true
Attachment #31713 -
Attachment is obsolete: true
Attachment #40000 -
Attachment is obsolete: true
Comment 28•23 years ago
|
||
Coreconf file required to compile under BONE.
Attachment #32824 -
Attachment is obsolete: true
Comment 29•23 years ago
|
||
This is the console's standard output captured when SSLDEBUG and SSLTRACE are set each to 99, to get the most info. This is what is produced when going to https://despot.mozilla.org Thought it might be helpful.
Comment 30•23 years ago
|
||
The good news is that I managed to get SSL connections working on BeOS net_server builds. That's what the patch does. The bad news is that the patch causes the browser to crash on the 3rd or so pageload. A key part of the patch is the change to _MD_connect. Without that change, the browser doesn't crash but of course, SSL connections fail too. After calling connect(...), printfs show that rv=-1 and errno is EINPROGRESS (Operation in progress). Looking at nonblocking && (EINPROGRESS || EAGAIN) checks, I'm guessing that we are currently being bitten by BeOS' lack of support for nonblocking sockets. I thought that there was a way to use blocking sockets with NSS?
Attachment #33053 -
Attachment is obsolete: true
Attachment #64461 -
Attachment is obsolete: true
Attachment #64466 -
Attachment is obsolete: true
Assignee | ||
Comment 31•23 years ago
|
||
Chris wrote: > I thought that there was a way to use blocking sockets > with NSS? Yes, you need to modify nsNSSIOLayerConnect() in nsNSSIOLayer.cpp. See bug 106188, my patch (attachment 66652 [details] [diff] [review]) for nsNSSIOLayer.cpp. Adjust it for BeOS.
Comment 32•23 years ago
|
||
Thanks Wan-Teh! By adding XP_BEOS to the XP_MAC ifdefs and removing the previous NSPR hack, we have stable support for SSL on BeOS now.
Attachment #70026 -
Attachment is obsolete: true
Comment 33•23 years ago
|
||
Did part of the patch for Bug#106188 not get applied properly? I just did a cvs update of nsNSSIOLayer.cpp, and still needed to apply part of the attachment 66652 [details] [diff] [review]. Just curious. I manually applied the latest patch and am building now. Thanks for this Chris! It is GREATLY appreciated!
Comment 34•23 years ago
|
||
The patch for 106188 was already applied when I created the 2nd patch. It looks like sfraser backed out 106188 when he got non-blocking connects working for the mac. So I'll have to roll another patch. :-/
Comment 35•23 years ago
|
||
Attachment #70211 -
Attachment is obsolete: true
Reporter | ||
Comment 36•23 years ago
|
||
Any chance to get this working on BONE (7a) ?I had no luck with any version of BONE+SSL yet...This is a huge step for BeZilla - big thanks and congrats to all involved!Hugh
Assignee | ||
Comment 37•23 years ago
|
||
Chris, In comment #32 you said you removed "the previous NSPR hack". But in fact you did not remove but rather start to use the NSPR hack that previously was only used for BONE. Did I miss something?
Comment 38•23 years ago
|
||
Sorry, I meant that I removed the NSPR hack that I was using in the previous patch. I removed the extra EINPROGRESS check that I added to bnet.c which was causing the instability.
Comment 39•23 years ago
|
||
I don't know of any reason why it wouldn't work on BONE atm but I don't have BONE to check. The net_server & BONE builds are now using the same workaround for the nonblocking sockets problem and there were no bits of the NSS port that used any BeOS specific features besides the mutexes.
Comment 40•23 years ago
|
||
I plan on trying a BONE build tonight, and will post the results.
Comment 41•23 years ago
|
||
Well, my BONE build just completed. Trying to go to any secure site gives me a dialog with the message "connection refused". I was hoping this would just work, so I did not have debug enabled, so, I will build it again over night, with debug enabled, and let you know what I find out. Thanks for the great work, Chris!
Comment 42•23 years ago
|
||
Compiles and works for me, but i have a beef with the .mk files. They both have OS_REL_CFLAGS = -Di386. Either this should be removed or changed to -Di586. BeOS does not run on anything below a Pentium (1).
Comment 43•23 years ago
|
||
This patch along with the previous patch gets SSL/PSM working under net_server and BONE. I have not run into any other issues, except for some focus issues under secure sites, but I will address that in another bug.
Comment 44•23 years ago
|
||
The tree is closed for 0.9.9. Will this be able to make it into the tree for the next release?
Comment 45•23 years ago
|
||
Paul, the tree is not completely closed for 0.9.9. It's in lockdown mode. The changes would have to be approved by drivers@mozilla.org in addition to the usual level of r/sr. I think we have a fairly strong case for getting this in. :) Wan-Teh, assuming that you can review this changes, who would be the appropriate person to sr them? The changes are mostly inside BeOS ifdefs so I'm not sure if the additional sr is really needed. Can we get these changes checked in and the static tags bumped before 0.9.9 branches (presumably on Friday or Monday)? Dennis, -Di386 it used to signifiy that we are compiling for an Intel processor (-D_X86_ would be more appropriate), not that it actually runs on a 386. Since we don't actually use that define, it can probably go away (not verified).
Comment 46•23 years ago
|
||
Since there is no BeOS PPC port at this point for mozilla, the i386/i586 thing is kind ofirrelavant.
Assignee | ||
Comment 47•23 years ago
|
||
Comment on attachment 70252 [details] [diff] [review] updated patch after bug 106188 changes I have some questions about the NSS changes in this patch. 1. security/coreconf/nsinstall/nsinstall.c >+#ifdef HAVE_FCHMOD > if (fchmod(tofd, mode) < 0) >+#else >+ if (chmod(tofd, mode) < 0) >+#endif The first argument of fchmod is an int (fd) whereas the first argument of chmod is a char* (path), so I believe we need to say: if (chmod(toname, mode) < 0) 2. security/nss/lib/freebl/Makefile >+ifeq ($(OS_TARGET),BeOS) >+ifeq ($(CPU_ARCH),x86) >+ ASFILES = mpi_x86.s >+ DEFINES += >+#-DMP_ASSEMBLY_MULTIPLY -DMP_ASSEMBLY_SQUARE -DMP_ASSEMBLY_DIV_2DX1D >+endif >+endif Should I simply delete the whole DEFINES += thing? Are you using mpi_x86.s on BeOS? 3. security/nss/lib/freebl/unix_rand.c >+#ifdef BEOS >+ char *files[] = { >+ "/boot/var/swap", >+ "/boot/var/log/syslog", >+ "/boot/var/tmp", >+ "/boot/home/config/settings", >+ "/boot/home", >+ 0 >+ }; >+#else > static const char * const files[] = { > "/etc/passwd", > "/etc/utmp", >@@ -743,6 +786,7 @@ > "/usr/tmp", > 0 > }; >+#endif I will declare 'files' as static const char * const files[] = { same as the other platforms. By the way, your changes to this file are good! 4. security/nss/lib/freebl/mpi/Makefile >+ifeq ($(TARGET),x86BEOS) >+#BeOS >+AS_OBJS = mpi_x86.o >+#MPICMN += -DMP_ASSEMBLY_MULTIPLY -DMP_ASSEMBLY_SQUARE -DMP_ASSEMBLY_DIV_2DX1D >+#MPICMN += -DMP_MONT_USE_MP_MUL >+CFLAGS= -O2 -fPIC -Di386 -ansi -Wall \ >+ -pipe -DBEOS -Dbeos -DXP_BEOS -DHAVE_STRERROR \ >+ -UDEBUG -DNDEBUG -D_REENTRANT $(MPICMN) >+endif Should I delete the commented-out MPICMN += lines? 5. security/nss/lib/ssl/sslmutex.c >+#ifdef XP_BEOS >+ if ((pMutex->u.sem = create_sem(1, "sslMutex sem")) < B_OK) >+ rv = -1; >+#else You may be using rv uninitialized here. I changed this to rv = (pMutex->u.sem = create_sem(1, "sslMutex sem")) < B_OK ? -1 : 0; > if (rv < 0) { >+#ifndef XP_BEOS > nss_MD_unix_map_default_error(errno); >+#endif > return SECFailure; > } Is this because nss_MD_unix_map_default_error() is not defined for BEOS? 6. security/nss/lib/ssl/sslsecur.c >+#if defined(BEOS) >+ gs->readOffset += amount; >+#else > if (!(flags & MSG_PEEK)) { > gs->readOffset += amount; > } >+#endif Is this because BEOS doesn't have MSG_PEEK?
Attachment #70252 -
Flags: needs-work+
Assignee | ||
Comment 48•23 years ago
|
||
There are two attachments (attachment 39999 [details] and attachment 64462 [details]) that look like the coreconf .mk file for BeOS. Which one should I add and what should the file name be?
Comment 49•23 years ago
|
||
Wan-Teh wrote: > > 1. security/coreconf/nsinstall/nsinstall.c > 3. security/nss/lib/freebl/unix_rand.c Fine by me. The build still works with those changes. > 2. security/nss/lib/freebl/Makefile > Should I simply delete the whole DEFINES += thing? > > Are you using mpi_x86.s on BeOS? Well, we're compiling the file but I don't know if we're actually using it if the ifdefs aren't there. We crash trying to access a https page if the defines are uncommented so they can be removed. > 4. security/nss/lib/freebl/mpi/Makefile > Should I delete the commented-out MPICMN += lines? Same as above. Actually, it turns out that we run fine w/o the BeOS changes to both of those Makefiles so I believe the changes can be safely ignored. I'm sure that we're missing out on some optimization but we're happy with that. ;) > 5. security/nss/lib/ssl/sslmutex.c > > You may be using rv uninitialized here. I changed this to > rv = (pMutex->u.sem = create_sem(1, "sslMutex sem")) < B_OK ? -1 : 0; Oops. Good catch. > Is this because nss_MD_unix_map_default_error() is not defined > for BEOS? Actually, it was because "The Be Book 5" API guide made no indication that those functions set errno on failure. > 6. security/nss/lib/ssl/sslsecur.c > Is this because BEOS doesn't have MSG_PEEK? > Correct. I have attachment 39999 [details] in my tree as security/coreconf/BeOS5.0.mk since that's what `uname``uname -r` returns. BONE builds may identify themselves differently , hence Paul's need for a BeOS5.0.4.mk. I think we can safely make BeOS5.0.4.mk just include BeOS5.0.mk.
Comment 50•23 years ago
|
||
>Since there is no BeOS PPC port at this point for mozilla, the i386/i586 thing is kind ofirrelavant.my bad then, i just thought the -Dixxx was passed to gcc to tell it what kind of processor to optimize for. can you tell me why they make i686 builds for linux then if it makes no difference?And on another note, the succesful SSL/PSM build i did on net_server worked fine on BONE.
Comment 51•23 years ago
|
||
mozilla.org makes "i686" builds for linux because `config.guess` returns i686 as the processor type. Nothing in the build config scripts optimizes for processor type. If someone else is distributing i686 optimized builds, then they are supplying the extra compiler options themselves.
Comment 52•23 years ago
|
||
All net_server builds do "sort-of" run under BONE, as BONE has some wrapper classes to the new network stack for backwards compatability. The net_server builds are not "optimized" to run under BONE, however. If you have a "pure" BONE build running, it will run faster than the net_server build. Thanks Chris, for clarifying the coreconf make file differences. They are just copies of eachother, so, having the 5.0.4 file include the 5.0 file should work. Thank you everyone for your work on this. You have all made a lot of people very happy in the BeOS community! :)
Assignee | ||
Comment 53•23 years ago
|
||
Chris Seawood wrote, referring to securiy/nss/lib/freebl/Makefile and security/nss/lib/freebl/mpi/Makefile: > > Actually, it turns out that we run fine w/o the BeOS changes to > both of those Makefiles so I believe the changes can be safely > ignored. I'm sure that we're missing out on some optimization > but we're happy with that. ;) In that case, I will omit the BeOS changes to both of those Makefiles. I am not qualified to review them and I don't think I can have them reviewed before the mozilla 0.9.9 deadline. > > Is this because nss_MD_unix_map_default_error() is not defined > > for BEOS? > > Actually, it was because "The Be Book 5" API guide made no indication > that those functions set errno on failure. So how do those functions report error codes on failure?
Comment 54•23 years ago
|
||
> So how do those functions report error codes on failure?
BeOS is partially posix compliant, which is where the create_sem comes from,
IIRC. It does return error codes, even though it may not be documented. I am
not at my
Be machine at the moment, so I cannot test this, but you should be able to call
nss_MD_unix_map_default_error(errno).
Assignee | ||
Comment 55•23 years ago
|
||
I just noticed another potential problem with the patch (attachment 70252 [details] [diff] [review]). Does create_sem(1, "sslMutex sem") create a process-shared semaphore (i.e., a semaphore that can be shared by multiple processes)? If not, then the BeOS changes to security/nss/lib/ssl/sslmutex.{c,h} are wrong. If BeOS has the POSIX pipe() system call and if the file descriptors of a pipe are inherited by a child process, BeOS can use the same sslMutex implementation as Linux, AIX, and OpenVMS.
Assignee | ||
Comment 56•23 years ago
|
||
This patch is the NSS subset of attachment 70252 [details] [diff] [review], with my modifications, and includes the new coreconf .mk file for BeOS (which replaces the BeOS5.0.mk and BeOS5.0.4.mk files submitted earlier). The only open issue is the changes to the sslmutex.{h,c} files, which I described in comment #55. Please apply this patch to security/coreconf and security/nss and let me know if it works.
Attachment #39999 -
Attachment is obsolete: true
Attachment #64462 -
Attachment is obsolete: true
Comment 57•23 years ago
|
||
> So how do those functions report error codes on failure? In the return value. Errno's never mentioned on the page so I wasn't going to make that assumption. > Does create_sem(1, "sslMutex sem") create a process-shared > semaphore (i.e., a semaphore that can be shared by multiple > processes)? Yes. "The sem_id number that identifies a semaphore is a system-wide token葉he sem_id values that you create in your application will identify your semaphores in all other applications as well." http://www.bebox.nu/bebooks/BeBookR5/The%20Kernel%20Kit/SemaphoreConcepts.html > If BeOS has the POSIX pipe() system call and if the > file descriptors of a pipe are inherited by a child > process, BeOS can use the same sslMutex implementation > as Linux, AIX, and OpenVMS. Ah. That's much simplier. And since it works, it renders previous discussions moot. :)
Comment 58•23 years ago
|
||
Comment on attachment 70763 [details] [diff] [review] Patch for NSS (security/coreconf and security/nss), including new file security/coreconf/BeOS.mk r=cls works for me!
Attachment #70763 -
Flags: review+
Assignee | ||
Comment 59•23 years ago
|
||
Chris, I have a question about your comment #57. Do you want to implement sslMutex with create_sem() or pipe()? If using the pipe() implementation, could you send me the diffs for sslmutex.{h,c}? Thanks. Once this is done, I am ready to check in the NSS changes. Can you take care of getting the approval from drivers@mozilla.org?
Comment 60•23 years ago
|
||
I have no strong preference either way. Both seem to work fine (not a lot of extensive testing though) The pipe patch is significantly less invasive than the create_sem patch so I guess I'd go with the pipe patch. We'll need another round of BONE testing from Paul though.
Attachment #70252 -
Attachment is obsolete: true
Comment 61•23 years ago
|
||
Assignee | ||
Comment 62•23 years ago
|
||
This new NSS patch uses pipe() implementation for sslmutex. Chris, sslMutex is only used in SSL server-side code, so it is not used by the Mozilla client.
Attachment #70763 -
Attachment is obsolete: true
Attachment #70822 -
Attachment is obsolete: true
Comment 63•23 years ago
|
||
Comment on attachment 70834 [details] [diff] [review] Patch for NSS (security/coreconf and security/nss), including new file security/coreconf/BeOS.mk Ah, that explains it. r=cls
Attachment #70834 -
Flags: review+
Comment on attachment 70834 [details] [diff] [review] Patch for NSS (security/coreconf and security/nss), including new file security/coreconf/BeOS.mk a=shaver for 0.9.9.
Attachment #70834 -
Flags: approval+
Comment on attachment 70602 [details] [diff] [review] Patch to bnet.c for BONE builds a=shaver for 0.9.9
Attachment #70602 -
Flags: approval+
Comment on attachment 70823 [details] [diff] [review] Blocking connect patch for PSM a=shaver for 0.9.9.
Attachment #70823 -
Flags: approval+
Assignee | ||
Comment 67•23 years ago
|
||
Chris, After reading "The Be Book 5", I agree with you that the return codes of the semaphore functions double as error codes, and there is no indication in the documentation that these functions set errno on failure. I now think that it is better to implement sslMutex with sem_id, but since sslMutex is not used by the Mozilla client, I suggest we use the simpler pipe implementation and worry about this later when you want to port an NSS-based SSL server to BeOS. ;-)
Comment 68•23 years ago
|
||
I just tested the latest patch on net_server and BONE. Everything seems to work just fine. r=arougthopher Also, as for the errno, I will ask some of the other developers in the BeOS land, and will hopefully have a diffinitive answer for you soon.
Comment 69•23 years ago
|
||
All of the patches have been checked in. We're now just waiting for the NSS_CLIENT_TAG to be updated. :-)
Assignee | ||
Comment 70•23 years ago
|
||
The deed is done. Marked the bug fixed. Have fun!
Status: ASSIGNED → RESOLVED
Closed: 23 years ago
Resolution: --- → FIXED
Comment 71•23 years ago
|
||
Chris, is crypto going to be enabled for the nightly and tinderbox builds now?
Comment 72•23 years ago
|
||
Yes.
You need to log in
before you can comment on or make changes to this bug.
Description
•