- 05 Nov, 2022 1 commit
-
-
ROOL authored
Detail: The iov_base will be changing from char to void pointer in future, preemptively insert a cast in 'kern_subr.c' to prevent compiler errors. Move svcdebug.h here from TCPIPLibs since its only (private) implementation is this component, and remove unused includes of 'ioc.h' and 'int_hndlr.h'. Admin: Submission for TCP/IP bounty. Version 5.65. Not tagged
-
- 15 Sep, 2018 1 commit
-
-
Robert Sprowson authored
The TCPIPLibs library docs remind us that a socket can be modified via setsockopt() to have a non-default timeout for receive (SO_RCVTIMEO) and send (SO_SNDTIMEO) operations, however neither of these options were honoured if set. Instead, a default timeout of ~60s was given. This is because although the Internet module stores and propagates (via sbwait()) the timeouts correctly, the underlying tsleep() function is non compliant: it makes no distinction between returning due to a timeout and returning due to being awoken by an event. See https://www.freebsd.org/cgi/man.cgi?query=tsleep&sektion=9&manpath=FreeBSD+4.4-RELEASE for details. lib/unixenv.c: differentiate between timing out and being awoken, and return EWOULDBLOCK for timeouts. Aside: select() worked because when tsleep() returned with 0 for a timeout this caused a retry attempt, and the retry loop happens to include its own timer compare, causing select() to return. Now that tsleep() returns EWOULDBLOCK in a timeout situation no retry occurs and the function returns directly. Tested with a deliberately timing out receive operation, see TCPIPLibs/test/timeo.c Tested on RISC OS and FreeBSD 11.1-RELEASE-p4 with both an unset timeout (~60s) and 10s timeout, both behave identically in terms of return value and setting errno appropriately. Version 5.65. Tagged as 'Internet-5_65'
-
- 28 Apr, 2018 1 commit
-
-
ROOL authored
Detail: RFC6247 moved T/TCP to historic status due to security concerns, this change actively removes the code (where previously we disabled it through sysctl). tcp_subr.c: remove T/TCP support (per FreeBSD revision 137139). tcp_input.c: remove T/TCP support (per FreeBSD revision 137139). tcp_usrreq.c: remove T/TCP support (per FreeBSD revision 137139). tcp_output.c: remove T/TCP support (per FreeBSD revision 137139). Admin: Requires TCPIPLibs-5_64. Submission for TCP/IP bounty. Version 5.64. Tagged as 'Internet-5_64'
-
- 06 Jan, 2018 1 commit
-
-
Jeffrey Lee authored
Detail: build/cmhg/InetHdr, riscos/c/module - Internet's PreReset handler leaves the module in a dangerous state; if another module attempts to access a previously-valid socket after Internet has completed its PreReset (or even during it, since the code explicitly triggers callbacks) then it will typically result in a crash due to the mbuf session having been closed. Since Internet isn't a hardware driver, it shouldn't need to do anything for Service_PreReset, so let's just remove the handler and leave the NIC drivers to deal with any reset handling (which they already appear to do correctly) Also, change InetHdr to use service call number #defines instead of magic numbers. Admin: Tested on Iyonix, iMx6 Fixes crashes seen on shutdown/reset when software is using sockets from callbacks (e.g. if a VNC server is running) Version 5.63. Tagged as 'Internet-5_63'
-
- 07 Jun, 2017 1 commit
-
-
Robert Sprowson authored
unixenv.c/whoami.c: don't define event numbers locally, use headers. tick_entry.s: if available use the REV instruction for htonl(). Requires Kernel-5_81 for event numbers. Version 5.62. Tagged as 'Internet-5_62'
-
- 17 Jun, 2015 2 commits
-
-
Robert Sprowson authored
Remove faulty logic for Service_MessageFileClosed, MessageTrans reopens the file, so no need to do it again locally. Usual register/deregister/reregister code for ResourceFS. Sort the SWI veneers into order, add veneers for ResourceFS in the RAM case. Version 5.61. Tagged as 'Internet-5_61'
-
Robert Sprowson authored
-
- 04 Jan, 2015 1 commit
-
-
Robert Sprowson authored
With CMHG 5.43 and later the 'help:' keyword actually does something useful, in that it is possible to distinguish between the command being run and help on that command. The Internet module made various assumptions about CMHG command numbers (not including the autogenerated header) which are no longer true as the help keyword renumbers the command numbers that the command handler receives. cmhg/InetHdr: Ammend the syntax string to match other OS commands. Remove the comment on yucky CMHG messing as that's no longer required. riscos/module.c: Use the CMHG generated header, correcting function prototypes where needed - this exposed a sin where the Internet module wrote into the user's command buffer when it should not (eg. if the command originated in a read only memory region). Simplify the despatch to a switch/case statement. Simplify all the command decoding by using OS_ReadArgs. Constify lookup_tag(). Delete OLDMBUFSTATS from pre MbufManager era. Internationalised the strings in *InetInfo. Fix bug where "NoIf" was printed when no interfaces exist - should have been looked up in the messages file. Tested briefly in an OMAP4 ROM build. Requires a few more messages in the messages file. Version 5.60. Tagged as 'Internet-5_60'
-
- 20 Nov, 2013 1 commit
-
-
Robert Sprowson authored
Per RFC3942 the public range of DHCP option numbers has been extended to reassign previously private option 164. While renumbering into the new site specific range (224-254) was an option, it's also defined that site specific options shouldn't be baked into products, hence support for Inet$PrivateData has been removed. Version 5.59. Tagged as 'Internet-5_59'
-
- 30 Sep, 2013 1 commit
-
-
Robert Sprowson authored
Retagged as Internet-5_58.
-
- 29 Sep, 2013 1 commit
-
-
Robert Sprowson authored
The LDMRet macro had an extra comma before the circumflex, but since these are also defined as macros in the APCS headers, change to using those instead. Tested on a Risc PC with RISC OS 4.02 in {CONFIG}=26. Version 5.58. Tagged as 'Internet-5_58'
-
- 26 Aug, 2012 1 commit
-
-
Jeffrey Lee authored
Detail: This is the Internet-side part of the fix, incorporating the following changes from FreeBSD: net/c/route - http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/net/route.c.diff?r1=1.59.2.1;r2=1.59.2.2;f=h netinet/c/in - http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/netinet/in.c.diff?r1=1.44.2.2;r2=1.44.2.3;f=h netinet/c/in_rmx - http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/netinet/in_rmx.c.diff?r1=1.37;r2=1.37.2.1;f=h netinet/c/raw_ip - http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/netinet/raw_ip.c.diff?r1=1.64.2.4;r2=1.64.2.5;f=h net/c/if - http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/net/if.c.diff?r1=1.43;r2=1.44;f=h This provides us with the fix for this bug: http://www.freebsd.org/cgi/query-pr.cgi?pr=20785 Other required changes: netiniet/c/in_proto - Hooked up rip_ctlinput to appropriate handlers Also fixed build/Makefile to count the module as a dependency for rom_link phase Admin: Tested on Raspberry Pi Requires TCPIPLibs-5_56 Fixes issue reported on forums with ShareFS not always working: http://www.riscosopen.org/forum/forums/5/topics/1193 Version 5.57. Tagged as 'Internet-5_57'
-
- 18 May, 2012 1 commit
-
-
Robert Sprowson authored
Also fix a warning from the compiler about m_copyback. Version 5.56. Tagged as 'Internet-5_56'
-
- 10 May, 2012 1 commit
-
-
Robert Sprowson authored
Version 5.55. Tagged as 'Internet-5_55'
-
- 14 Jan, 2012 1 commit
-
-
Steve Revill authored
Version 5.54. Tagged as 'Internet-5_54'
-
- 15 Dec, 2011 2 commits
-
-
Robert Sprowson authored
Makefilse uses ModuleLibs too. Lots of STM/LDM replaced with Push and Pull macros. Local definitions in 'swiveneers' replaced with header files. Version 5.53. Tagged as 'Internet-5_53'
-
Robert Sprowson authored
Not tagged.
-
- 22 Dec, 2008 1 commit
-
-
Ben Avison authored
Detail: microtime(), which reads the current time into a struct timeval (seconds and microseconds) looked for an IOMD, and if not then dropped back to centisecond accuracy. This hadn't been noticed before, but upon trying the module on a 32-bit IOMD build, its attempt to access IOMD at its 26-bit address aborted. Now changed to use the HAL if possible, so all HAL machines now have a nice accurate microtime(). Admin: Tested to the extent that it doesn't abort any more - precise checking of microtime() values has not been done, nor any analysis of the effect of the increased accuracy. Version 5.52. Tagged as 'Internet-5_52'
-
- 24 Feb, 2007 1 commit
-
-
John Ballance authored
Detail: if attempting to rtfree() a null rt pointer the null pointer was used to get initialisation for a register array before aborting. now it is only used if non null Admin: Version 5.51. Tagged as 'Internet-5_51'
-
- 18 Feb, 2005 1 commit
-
-
Kevin Bracey authored
Fixed some dodgy unaligned pointer casting which invokes undefined behaviour; the old code no longer has the expected behaviour with cc 5.58, so older versions of the module don't work unless compiled with cc 5.57 or earlier. Version 5.50. Tagged as 'Internet-5_50'
-
- 12 Nov, 2004 1 commit
-
-
Ben Avison authored
Detail: Exports VersionNum to BBE. Admin: Tested in a Tungsten BBE build. Retagged, since this won't affect any existing builds.
-
- 05 Aug, 2004 1 commit
-
-
Kevin Bracey authored
IFF_NEED_IPADDR flag now cleared whenever a BOOTP/DHCP response is processed; previously this only happened if the address was set. This ensures correct behaviour following the first DHCPREQUEST in the REBOOTING state, where the address isn't changed. Version 5.49. Tagged as 'Internet-5_49'
-
- 22 Jul, 2004 1 commit
-
-
Kevin Bracey authored
DHCP packets sent out through ioctl(SIOCGWHOIAMD) had their source address in the IP header reversed - this was visible for packets the DHCP client sent out in the REBINDING state. Version 5.48. Tagged as 'Internet-5_48'
-
- 02 Jul, 2004 1 commit
-
-
Ben Avison authored
Version 5.47. Tagged as 'Internet-5_47'
-
- 13 Nov, 2003 1 commit
-
-
Ben Avison authored
Upped version number, because it's about time it was. Version 5.46. Tagged as 'Internet-5_46'
-
- 06 Sep, 2001 1 commit
-
-
Kevin Bracey authored
This was a bad solution to the problem - acknowledging the escape says that the module has dealt with it and the calling environment shouldn't take escape actions. The C library is broken in that when the escape condition is cleared/acknowledged, it still proceeds to call its SIGINT handler. Compare this to the correct behaviour of the BASIC run-time; the problem was originally noticed when calling *Debug, which you have to press Escape to exit, and it acknowledges that escape, but C still throws SIGINT. When the C library is fixed (as it shortly will be), if the Internet module acknowledges escapes, socket calls will return EINTR but not actually generate SIGINT. The change was originally made for NFS, whose central code (in common with most Unix code) retried calls returning EINTR. The problem was that the escape condition remained unacknowledged so it got stuck in an infinite loop. The correct fix will be to make sure that any supervisor mode code such as NFS making blocking socket calls takes appropriate action when EINTR is returned, or ensures that escape is disabled. Until it is fixed, NFS will show lock-up symptoms again with this module. Applications will function as expected, as the C run-time will call the SIGINT handler on exit from the socket SWI (and acknowledge the escape) - if the signal handler returns the foreground code can retry the call. Version 5.45. Tagged as 'Internet-5_45'
-
- 07 Aug, 2000 1 commit
-
-
Steve Revill authored
Detail: When building an image for the Ethernet flash, we need an install (ram) phase. Added. Admin: Tested on RiscPC. Version 5.44. Not tagged
-
- 13 Jul, 2000 1 commit
-
-
Andrew Hodgkinson authored
Detail: Previously, the SWI didn't care about any return values. The Internet module would either free the MBuf passed or send it on to the socket, depending on the value of m_len on exit from the SWI. This still works, but SWI handlers can now set R1 to zero on exit to claim ownership of the MBuf. In this case, the item is neither freed nor passed on to the socket, and the new owner must be very careful to make sure that they do an appropriate m_free later. Admin: This change was implemented to allow UDPV to point the MPEG system directly to the data in the MBuf chains it was passed rather than taking a local copy. It has been tested with both new and old UDPV versions and both work as expected. Note that any module using the new interface will absolutely require it to be present (new UDPV modules built to use the interface extension will refuse to start if Internet is too old). Version 5.44. Tagged as 'Internet-5_44'
-
- 05 Jul, 2000 1 commit
-
-
Kevin Bracey authored
Detail: VideoControl was having a nasty reentrancy problem inside its event handler; we've been sending out events at points where a BSD Unix system wouldn't and exposing a number of potential problems. Fixed by restoring the delayed event scheme used in earlier versions of Internet 5, but with an extra event send inside the packet input loop which should alleviate the high load problems seen with the NEC video client. Seems to work fine, but we've been unable to get the NEC video client to work at all, let alone test it on this Internet module. Doesn't matter for now because we're not shipping it :) Version 5.43. Tagged as 'Internet-5_43'
-
- 27 Jun, 2000 1 commit
-
-
Stewart Brodie authored
Detail: Attempts by the Internet module to return from a SWI call with an errno value of EINTR are now trapped and the escape condition acknowledged to prevent S/W that believes a return value of EINTR means "make the system call again" from getting stuck in infinite loops. This fix also stops the Escape being returned by the next SWI to be called by the application/module that called the Internet SWI. Admin: Behavioural change dependent on the ACKNOWLEDGE_ESCAPE macro definition. This macro is defined by the Makefile in this version. Tested on desktop machine. Version 5.42. Tagged as 'Internet-5_42'
-
- 12 May, 2000 1 commit
-
-
Kevin Bracey authored
A (tiny) checksumming speed-up, courtesy of David Seal. Version 5.41. Tagged as 'Internet-5_41'
-
- 06 Mar, 2000 1 commit
-
-
Kevin Bracey authored
Detail: Bug was introduced by a faulty merge of new FreeBSD stuff in version 5.31 (13 Jul 1999). Version 5.40. Tagged as 'Internet-5_40'
-
- 22 Feb, 2000 1 commit
-
-
Kevin Bracey authored
Version 5.39. Tagged as 'Internet-5_39'
-
- 11 Nov, 1999 1 commit
-
-
Kevin Bracey authored
Now 32-bit compatible, in a suitable build environment. In the standard 26-bit build environment it is unchanged, except for a fix in the "Module Internet cannot be RAM loaded" checker. Version 5.38. Tagged as 'Internet-5_38'
-
- 14 Oct, 1999 1 commit
-
-
Kevin Bracey authored
Version 5.37. Tagged as 'Internet-5_37'
-
- 27 Aug, 1999 1 commit
-
-
Kevin Bracey authored
Attempts to free some mbufs on receipt of MbufManagerStatus_Scavenge. Extracts DHCP NTP servers setting to Inet$NTPServer. Version 5.36. Tagged as 'Internet-5_36'
-
- 10 Aug, 1999 1 commit
-
-
Stewart Brodie authored
Detail: Earlier versions "borrowed" the C++ global constructor mechanism to collect linker sets together resulting in some bizarre looking requirements (-c++ options passed to cc and link). These are now solved properly. Admin: Requires link 5.14 or later (and will refuse to link without it) This is contained in Library 0.28 and later (Library-0_28) With cc 5.14 and later (in Library 0.28 too), warnings about __link symbols will be automatically suppressed. Version 5.35. Tagged as 'Internet-5_35'
-
- 28 Jul, 1999 1 commit
-
-
Kevin Bracey authored
Random number generator now seeded from microtime(), machine ID and hardware addresses of DCI drivers. Some previously untested debugging code fixed to compile. Version 5.34. Tagged as 'Internet-5_34'
-
- 26 Jul, 1999 1 commit
-
-
Stewart Brodie authored
Re-tagged as Internet-5_33.
-
- 22 Jul, 1999 1 commit
-
-
Kevin Bracey authored
* Used to send fragmented multicasts to the wrong link-level address. This is fixed by MbufManager 0.23, but a work-around has been incorporated into the Internet module. * Ability to debug using PDebug instead of TML added. * Various compilation hiccoughs when DEBUG defined fixed. Version 5.33. Tagged as 'Internet-5_33'
-