be9b70fd44be03d425611bd94ea092ce96d1f394 |
|
16-Mar-2010 |
Carl Shapiro <cshapiro@google.com> |
Replace a use of index with strchr. Change-Id: I2c1238bc1bd0945533712d0d74a761721b8408a3
|
7f4a5eccf19468e6ba8c132abc34e0670cc7cdfa |
|
28-Jan-2010 |
Elliott Hughes <enh@google.com> |
Fix jniThrowRuntimeException for C callers, add jniThrowNullPointerException. ...and switch all NPE throwers over to the helper.
|
4706baba5f4ac4354d0fba857bb05d60be0a29d5 |
|
20-Jan-2010 |
Elliott Hughes <enh@google.com> |
One true way to query "java.net.preferIPv6Addresses". Also stop querying and passing this boolean to code that doesn't care. (We sort our InetAddress[]s appropriately, so most code doesn't need to worry about this.) Bug: http://code.google.com/p/android/issues/detail?id=5903
|
5d26339aed33942ba82bfdb79e1b7e9a832c96a7 |
|
26-Nov-2009 |
Elliott Hughes <enh@google.com> |
DO NOT MERGE: backport the IPv6 NetworkInterface/multicast fixes. This is a backport of the minimal changes from master (flan) to fix IPv6 multicasting. Specifically, it fixes NetworkInterface to report IPv6 addresses, it fixes GenericIPMreq so we pass the interface indexes down to native code, it replaces our old copy of harmony's MulticastSocketTest with the current upstream version (to avoid bogus failures), and it brings back one small "unrelated" fix to OSNetworkSystem.cpp that's necessary to prevent failures in later parts of tests we used to fail too early to notice secondary problems. This passes all the (fixed) MulticastSocketTest tests, causes no regressions in the whole net.AllTests suite, and fixes the user-submitted application that started the investigation. Bug: 1750581
|
72b1f30305ca518b180d2ebf0eb8a4b20aae6155 |
|
23-Nov-2009 |
Elliott Hughes <enh@google.com> |
Add a comment.
|
18090720f97d2fe718f11d0944b623676bf6b78b |
|
20-Nov-2009 |
Elliott Hughes <enh@google.com> |
Rewrite NetworkInterface's JNI for IPv6. The old ioctl SIOCGIFCONF implementation of getNetworkInterfaces only returns IPv4 addresses. Now we've switched everything over to IPv6, that's not good enough. This change (a) implements glibc/BSD-like getifaddrs(3)/freeifaddrs(3) for Android, and (b) rewrites our getNetworkInterfaces to use that method. Of particular note is that we now do more of the work in Java. The JNI hands back a Java equivalent of getifaddrs(3)'s linked list of ifaddrs structs. The new package-private java.net.InterfaceAddress class serves as Java's "struct ifaddrs". The old implementation was also broken: SIOCGIFCONF doesn't actually return interface indexes from the kernel as the old code believed, so we were pulling the address family out of the IPv4 address it returned, leading us to assign the index 2 to all network interfaces. This caused all kinds of weird behavior later. I also had to fix GenericIPMreq so that its interface index field is actually set. The native code gets passed one of these objects when setNetworkInterface is called, so it's kind of important that the object identify which interface it's supposed to correspond to. I've also added missing copyright headers. This fixes all of the harmony tests on the simulator and on the device. It fixes several but not all of the jtreg MulticastSocket and IPv6 tests.
|
f8e2929ab07550a5495973a4f50eb3ecb16ef3bd |
|
14-Nov-2009 |
Elliott Hughes <enh@google.com> |
Don't allocate arbitrary-length buffers on the stack. A new LocalArray C++ class lets us specify a "reasonable" amount of stack to use, but transparently fall back to using the heap if we need more space. The three places I've chosen to use LocalArray in this patch are fairly random; all they have in common is that they're the places where we call GetStringUTFRegion. There are more places LocalArray will be useful: the java.io.File JNI in particular. Bug: 2257819
|
72e93344b4d1ffc71e9c832ec23de0657e5b04a5 |
|
13-Nov-2009 |
Jean-Baptiste Queru <jbq@google.com> |
eclair snapshot
|
0623da9506227142603766602a554d822e6170b5 |
|
12-Nov-2009 |
Elliott Hughes <enh@google.com> |
Remove OSNetworkSystem.oneTimeInitialization. Do this work at JNI registration time, as we do for almost everything else. (I did this to rule out a warning from the dalvikvm deadlock prediction code, which doesn't like the unusual lock ordering at initialization time, and although it didn't make any difference to that, I prefer to have a defined static order of initialization.)
|
f46138362aba4a424059b8bc8cc2d2fcc6d3ee66 |
|
12-Nov-2009 |
Elliott Hughes <enh@google.com> |
Fix a buffer overrun in OSNetworkSystem. Given an IPv6 address in a non-standard (Java-specific) form, we used to overrun an on-stack buffer that was assuming the standard (shorter) form. Make the buffer large enough for both forms, and reject anything that's still too large. Found by Inet6AddressTest.
|
994b254e006f14e7508aac43c773fe2e34a5167e |
|
05-Nov-2009 |
Elliott Hughes <enh@google.com> |
More OSNetworkSystem cleanup. Handle select(2) errors by throwing exceptions from native code (which is simpler and provides more useful detail messages). Factor out exception throwing commonality. This is probably ready for JNIHelp.h now. Remove sockSelect. Simplify selectWait by observing that it's only ever called with a "read" fdset. Remove a little more SOCKERR_* cruft. Remove a few unused #defines.
|
5cae54d2a5d6fef88fb456185e64a9df8dfa6ac5 |
|
05-Nov-2009 |
Elliott Hughes <enh@google.com> |
More OSNetworkSystem cleanup. Fix danfuzz's BSD woes by removing uses of non-standard s6_addr32, replace isMappedAddress with IN6_IS_ADDR_V4MAPPED, and change convertMappedToIpv4 to reduce duplication in its callers. Remove the TODO suggesting we consider inet_ntop instead of getnameinfo; Ulrich Drepper says there's never any reason to do that: http://people.redhat.com/drepper/userapi-ipv6.html Remove our last use of sockaddr_in in favor of sockaddr_storage, so we never have to wonder "is that big enough?" again. Explain why we convert IPv4-mapped addresses to IPv4 addresses when there's no obvious reason to do so. Fix another user of the SOCKERR_* cruft. Address the FD_ISSET and what-exception-to-throw-on-BSD comments from danfuzz's last patch.
|
ae217995055c307813c58644943f8e03c69fa2f2 |
|
05-Nov-2009 |
Dan Bornstein <danfuzz@android.com> |
Only compile in multicast support on Linux, for the time being. The calls and structs provided by the underlying platform for multicast aren't yet exactly well-established POSIX standards, and the current Linux code is still not considered to be super-robust, and as such it isn't a good idea to try to duplicate its functionality for other platforms. We will revisit the issue once the Linux side has matured a bit. Change-Id: I630086e22f6980726fd4523cb60dfc8c9fb9b011
|
222120193f2a5a769fbdb4c9ba714f900afab71a |
|
03-Nov-2009 |
Elliott Hughes <enh@google.com> |
Kill OSNetworkSystem.inheritedChannelImpl. This code is broken (and more broken than upstream), and not obviously relevant to our platform. Let's make it clear that all this currently does is return null. The changes in the Java side bring us back in sync with upstream.
|
070d4af3e970e1c619edd6d5cb919b8ee9901a45 |
|
29-Oct-2009 |
Dan Bornstein <danfuzz@android.com> |
Some more adjustments to deal with building for a BSD(-like) target. Change-Id: I5e33c3db160ae3af6e324492e0b6a7a0dfb9719b
|
e6f774525980167d4324eaf1a34bef4b303bcbd3 |
|
31-Oct-2009 |
Elliott Hughes <enh@google.com> |
More OSNetworkSystem cleanup. valgrind didn't like what we were doing here, specifically the way we were setting ss_family to AF_INET if getsockopt IP_MULTICAST_IF didn't return an AF_INET address, and ignoring the fact that the rest of the sockaddr_storage doesn't necessarily correspond to an AF_INET address. Linux seems to return an AF_UNSPEC address (rather than INADDR_ANY) if we haven't set a multicast interface, so we have to do the conversion ourselves. More disturbingly (and unfixed by this patch) we sometimes see ss_family come back as 127 (when AF_MAX is 32 on our system). My guess is that the kernel is just handing back bad data we gave it earlier, but I'll come back to see about fixing multicast properly later. I've inlined socketAddressToString into osNetworkSystem_byteArrayToIpString, its only caller, because it's clearer that way now we've simplified the division of error handling between the two. I've brought getSocketLocalAddressImpl and getSocketLocalPortImpl in line with each other and changed them to at least log errors. I've also added a new test that fails, to demonstrate that this implementation is broken as designed. I've changed the name of JAVASOCKOPT_IP_MULTICAST_IF to match the Java constant. I've fixed the exception we throw if we're asked to convert a bad address family's address from code that can't throw IOException --- AssertionError doesn't have a String constructor. Really, we need to kill this code, so I've added a TODO. I've also made a real push to get rid of most of the SOCKERR_*-based error reporting. (I had a transient failure with a meaningless error message that sent me to the source to work out which errno it was actually trying to report.) I've changed setTTL to call setTimeToLive, and change the implementation of the latter to pass Integer rather than Byte to the native implementation, since that's what the native code needs anyway and native Byte support was only for TTL. Bug: 2225748
|
bfe0f4ba3c0f170520f57c3d8d24954877e9a0b8 |
|
27-Oct-2009 |
Elliott Hughes <enh@google.com> |
Remove OSNetworkSystem.sendStream and all use of ErrorCodeException. Removing OSNetworkSystem.sendStream brings us in line with harmony. I've also rewritten writeSocketImpl to not make a temporary copy of the data it's going to send. The weird code in writeSocketDirectImpl that threw ErrorCodeException turns out to be a very awkward way of returning zero to the only two callers that are paying attention. (Harmony actually calls the equivalent of this code every time it throws SocketException from native code, but these two callers were the only places that checked for the special case.)
|
024da70f6b8fc46494278165f73f8baedcbc7b70 |
|
27-Oct-2009 |
Dan Bornstein <danfuzz@android.com> |
The officially sanctioned way to get memcpy() is to #include <string.h>. Change-Id: Ie157d9305df5f9b86a09ea2224666fd2c054cda4
|
f3029c5855474c107861ce671b25fa119a6b4a51 |
|
22-Oct-2009 |
Elliott Hughes <enh@google.com> |
Remove OSNetworkSystem.receiveStream. Harmony removed this some time ago, and -- if we change our read/readDirect implementations slightly -- we can too. I've also added some bounds checking in the Java so we don't ask native code to perform a buffer overrun for us. I've also rewritten the native readSocketImpl to use GetByteArrayElements and ReleaseByteArrayElements rather than its own custom stack/heap allocation and arbitrary 64KiB limit. (As far as I can tell from the harmony history, the limit dates from when they always read into an on-stack buffer, and was never removed.) I've also brought us in line with harmony so we only pass 'address' to readDirect, rather than 'address' and 'offset'. I've changed SocketTest to match upstream and -- since they pulled out some of the tests into a new file -- I've added their UnixSocketTest so we don't miss out. Our old SocketTest's test_getInputStream is the only test my new code doesn't pass, but I think the old SocketTest was broken and the new SocketTest/UnixSocketTest is correct. I've also brought us back into line with harmony's MulticastSocketTest. With the up-to-date tests, the new code behaves the same as the old code. (With our old tests, the new code fails the joinGroup test with a NullPointerException instead of a junit comparison failure.)
|
7d9006a13e62bea5a019d29faeddb222b974942b |
|
21-Oct-2009 |
Elliott Hughes <enh@google.com> |
More OSNetworkSystem cleanup. Rewrite OSNetworkSystem.connect in terms of connectStreamWithTimeoutSocketImpl in Java rather than in native code. Remove OSNetworkSystem.connectSocketImpl. Make INetworkSystem.connect void, since the return value is always 0. Use TEMP_FAILURE_RETRY rather than explicit do loops to retry interrupted system calls. Fix peekDatagramImpl to actually update the byte[] in the passed-in InetAddress. Stop pulling the int fd out of the FileDescriptor each time round the loop in sendStreamImpl and sendDatagramImpl2. More tiny steps towards eliminating the SOCKERR_ nonsense in favor of errno. Prefer sizeof(variable) to sizeof(type). Remove a few more superfluous "struct" keywords.
|
73fd1714c1a310d2c29d9e458a6c8eb64a143aed |
|
20-Oct-2009 |
Elliott Hughes <enh@google.com> |
Fix OSNetworkSystem.acceptImpl error handling; additional clean-up. The main reason for this patch is that acceptImpl was checking the wrong return code. I've also removed the BADSOCKET and UNKNOWNSOCKET errors because they were being used interchangeably with the BADDESC error and weren't genuinely meaningful. I've also removed the bogus checks for 0 as a file descriptor, which is perfectly valid (if unlikely). I've factored this common snippet out.
|
57ac2250b927cae01dc3858c0fe3b2af9bbec743 |
|
17-Oct-2009 |
Elliott Hughes <enh@google.com> |
Improve error handling in InetAddress native code. Fix a bug where we changed the return values of functions such as byteArrayToSocketAddress without changing the logic in the callers that's supposed to distinguish success and failure. For simplicity, I've switch all of these functions over to returning bool, and I've gone through all the callers to ensure we're using the right check now. (This is the majority of the diff.) Also switch to throwing IllegalArgumentException instead of SocketException when we find ourselves with a bad byte[] --- before we were throwing a checked exception we weren't allowed to (from native code, which can't actually be checked statically) and then trying to cover up in Java. I've also simply removed one case where we were trying to mask an OutOfMemoryError with a SocketException. I also removed dead code in socketAddressToString: this function's sole caller always passed false for withPort. This makes the temporary variable and the copying (which was unsafe) unnecessary. In instances where I was already changing the code, I've removed bogus "handle == 0" failures, but I'll come back and remove all the other instances in another patch. Since I was in connectSocketImpl, I've removed the dead second half of that method.
|
dadd93d416861fe5bfa1dd32cc54e9e21043fc09 |
|
06-Oct-2009 |
Elliott Hughes <enh@google.com> |
Don't use GetPrimitiveArrayCritical around network operations. This code seems to have been using GetPrimitiveArrayCritical to work around the fact that it was supply JNI_ABORT on release, where it really wanted GetByteArrayElements and to keep its changes (since the whole point of the byte[] was to keep state between calls).
|
a4c6827834f0b0fe50b877153523c3e11c2ab4d7 |
|
06-Oct-2009 |
Elliott Hughes <enh@google.com> |
Remove dead code.
|
e652b123d2d65d40e5f51c0145cc453ea88631dc |
|
02-Oct-2009 |
Lorenzo Colitti <lorenzo@google.com> |
Make sure res is NULL if getaddrinfo fails.
|
78833605d526ade07d452d2505a792a9874b2a60 |
|
03-Oct-2009 |
Elliott Hughes <enh@google.com> |
Refactor java_net_NetworkInterface.cpp for clarity. All I wanted to do was remove the SOCKERR_ mess, but things got out of hand. There's still plenty of stuff that could be cleaned up, but nothing that can't wait. I'm only doing this to make things easier for the IPv6 changes. This patch: * removes the SOCKERR_ mess which was causing vague "Operation failed" IOExceptions; we now use the actual errno value of whatever caused the failure. * simplifies memory management so we don't have to do lots of cleanup on every exit from each function. * simplified fd management for the same reason. * reduces the use of the intermediate structure, going straight to Java objects in places. (This is the unfinished work: we should get rid of the intermediate representation. It's not useful.) * replaces structInToJavaAddress and structInToInetAddress with a call to the better socketAddressToInetAddress from OSNetworkSystem.cpp. * uses more intention-revealing variable and function names. * removes attempts to throw exceptions when perfectly good exceptions have already been thrown. * removes filtering of interfaces that aren't up. The RI doesn't do this filtering, there's no reason to do it, and it's always going to be a race condition anyway. * removes untrue comments. * removes a lot of inexplicably empty lines.
|
681d27ea8299b4d8125e826b405e4b926d6ee65e |
|
02-Oct-2009 |
Lorenzo Colitti <lorenzo@google.com> |
Make sure res is NULL if getaddrinfo fails.
|
60d3a548d07ce5161c91b50bb374b127ccec9b72 |
|
30-Sep-2009 |
Elliott Hughes <enh@google.com> |
Remove adb networking support from dalvik/libcore. There's more to be removed from other projects, but this should probably come out first. Bug: 1122968
|
f94c5d77ab659bfc1644b524fc006f24cbf6f694 |
|
01-Oct-2009 |
Lorenzo Colitti <lorenzo@google.com> |
More multicast fixes. 1. Make native code properly set network interface indexes that are used for new-style multicast socket options. 2. For IP_MULTICAST_IF, check that the address is IPv4, not the socket. 3. Remove a @KnownFailure annotation for a test that now passes. This removes one test error and changes it into a more benign failure. The remaining test failures seem to be due to Linux bening permissive about which interfaces you can receive multicast traffic on, which is probably good enough for now. Change-Id: Id1fddee338addcfce821672b983485c7dd4983d4
|
d6a4cc340b98980f292168a34458015344ee6646 |
|
01-Oct-2009 |
Lorenzo Colitti <lorenzo@google.com> |
Fixes for socket options on multicast sockets. 1. Properly pass get/setsockopt the pointer to the socket option instead of the pointer to the pointer to the option. This was not caught at compile time because it's a void *. 2. Handle IPv4 multicast addresses on IPv6 sockets. This is important because current devices create IPv6 sockets by default. 3. Use the proper options for IPv6 multicast (i.e., IPV6_{ADD,DROP}_MEMBERSHIP instead of IP_{ADD,DROP}_MEMBERSHIP) 4. Use integers instead of bytes when getting or setting the multicast TTL because that's what the Linux kernel uses. These fix 10 of the 11 MulticastSocketTest failures. Also, minor changes: 1. Add ifdefd-out logging functions for get/setsockopt. 2. Change all instances of IPPROTO_{IP,IPv6} to SOL_{IP,IPV6} in get/setsockopt calls. Even though the values are the same (so the code worked), this way is more correct. Change-Id: Iea75a523d7e71f0b361a42c0e39d3ef075dc7ff4
|
e96ca9b63920887425c6d4603a974a607b8a2b8a |
|
27-Sep-2009 |
Elliott Hughes <enh@google.com> |
Throw meaningful IOException instances from native code. The Java side of OSFileSystem was throwing IOExceptions with no detail message. If we throw from the native side instead, we can supply meaningful explanations. This turned up a couple of bugs: * read, readDirect, readv, writev, and ttyRead would only throw IOException if they returned < -1, which is impossible. (writev was probably a copy & paste from readv, and the reads were probably confused by the impedence mismatch between Unix's use of 0 to mean end of file and -1 to mean error, and Java's use of -1 for end of file.) * inconsistent checking for null byte[]s passed in. * read and write would retry on EINTR, but readDirect and writeDirect wouldn't. * we'd silently truncate seek/lock/truncate offsets that didn't fit in 32 bits; we now throw an IOException instead. It also means a few native functions become "void" because errors are now reported by throwing exceptions, and the Java functions that used to call them are no longer needed. Also change ProcessManager to use jniThrowIOException, remove the unused throwIOExceptionStr from OSNetworkSystem.cpp, and remove the KnownFailure from FileTest's test_delete, now we have a fixed version of yaffs that won't rmdir(2) non-empty directories. Bug: 1542253
|
1b4ca183763171fdd5228d6184ad77a61046bbea |
|
19-Sep-2009 |
Lorenzo Colitti <lorenzo@google.com> |
Manual merge of change I3665f82b into master.
|
1569390907c0c47985f72d1f30f694ab5f0017d9 |
|
19-Sep-2009 |
Lorenzo Colitti <lorenzo@google.com> |
Use native code to convert strings to IP addresses. 1. Add an ipStringToByteArray method to the OSNetworkSystem interface and provide a native implementation for it. 2. Change InetAddress to use the new method. 3. Remove a mid-sized chunk of Inet6Util, which is now redundant. 4. Remove the KnownFailure annotations from the InetAddress, InetAddress and Inet6Address tests that expected 1.2.3, 1.3 and 3 to be valid IPv4 addresses. These tests now pass again. 5. Removed an unused native method. 6. Added a comment to the top of the native socket implementation to the effect that the file is significantly different from harmony. Change-Id: I3665f82b00ebc089e9133cc6166dda5a99fa10e4
|
c18a33fd3b05e720cd6b6e3215c99546f17985e6 |
|
19-Sep-2009 |
Lorenzo Colitti <lorenzo@google.com> |
Manual merge of eclair change I26548922 into master.
|
b663ba5604080f14f682b2defed9bea57346d5b5 |
|
18-Sep-2009 |
Lorenzo Colitti <lorenzo@google.com> |
Use native code to convert IP addresses to strings. - Add a byteArrayToIpString method to the INetworkSystem interface and implement it in native code - Fix the native code so it does better error reporting - Change InetAddress's getHostAddress, getHostName and getCanonicalHostName methods to use it and remove the IPv4-only Java implementations - Remove Inet6Util.createIPAddrStringFromByteArray - Fix InetAddress so getByAddress(null) throws UnknownHostException instead of NullPointerException for compatibility with the RI. Change-Id: I26548922e9eed63b295173456183c4ab3ce20718
|
cda2fae64ff87cc515263e343f332988c61a6476 |
|
18-Sep-2009 |
Elliott Hughes <enh@google.com> |
Fix heap corruption in nio select(2) code. The active ingredient in this change is that we now test that the fd isn't -1, used to represent an invalid fd. There's a race condition where a socket can be closed between SelectorImpl.prepareChannels and the native code. This caused us to write to the -1th element of a heap-allocated structure, leading to SIGSEGV. I've also removed the check for an empty fd_set. It was broken before and will never have fired, but I don't think it makes sense to fix it, given this race condition. The race can't be fixed because the implementation is documented to close the socket channel and *then* cancel the selection key. This patch also removes various dead functions and tidies up timeval usage. Bug: 2093094
|
c93088f3addb0a81b654b1c9f609bc2bd31fe39a |
|
16-Sep-2009 |
Lorenzo Colitti <lorenzo@google.com> |
Make getHostByAddr and getHostByName return the proper object type. Change-Id: I51c75205095b7fe093ccb4451bbf7cc6a287bc49
|
89dc615b7ba0109ff161e95791511675a64fbee5 |
|
09-Sep-2009 |
Lorenzo Colitti <lorenzo@google.com> |
Simplify networking code initialization using static structures instead of code. Fix an uninitialized variable. Change-Id: Id9064a185525bfe072b244ea3d2acb56e5e185cd
|
f682990ef844e379ed0b1180b7d5d3956d95baa6 |
|
11-Sep-2009 |
Elliott Hughes <enh@google.com> |
Several small native code fixes. * Don't throw OutOfMemoryError manually in Adler32/CRC32: the VM does that for us if GetPrimitiveArrayCritical needs, but fails, to allocate memory. * Don't use anything but NULL for the "iscopy" argument to Get*ArrayElements. The other users of this argument (removed earlier this week) were under the mistaken impression that it's an "in" parameter rather than an "out" parameter, and since these remaining callers aren't actually using the result, let's remove the cruft. * Move the null check in harmony_io_openImpl for "path" to come *before* the first dereference. * Make harmony_io_ttyReadImpl just delegate to harmony_io_readImpl since, apart from the zero-length read check, they were identical. * Remove the dead function throwIOExceptionStr from the OpenSSLSessionImpl native code. Tested on sapphire-eng.
|
1ef5b44eaf9170686d28d564b8d247b3e22cb7ac |
|
09-Sep-2009 |
Elliott Hughes <enh@google.com> |
Use Get*ArrayRegion/Set*ArrayRegion instead of Get*ArrayElements. This fixes all instances in the networking code, but doesn't address similar patterns, nor non-networking code. This seemed like a reasonably-sized meaningful chunk. Tested on sapphire-eng. Bug: 1639287
|
f2f6f8b8d47733be0f291612730690b5ce379257 |
|
04-Sep-2009 |
Lorenzo Colitti <lorenzo@google.com> |
Document that createSocketFileDescriptor throws an exception on failure. Change-Id: Ic002b4dc8c40d798316afbab7a14bd81593e2541
|
78426a211bdde90a6bfe219a77c4449c66e98302 |
|
04-Sep-2009 |
Lorenzo Colitti <lorenzo@google.com> |
If an error occurs when creating a socket, don't call any more JNI methods (thus causing a segfault) but return immediately. Change-Id: I7d05997e38e631200542f85eba16b854d488d584
|
d0d6c15d20ba9ba49b5a2ea71de737c182ab1410 |
|
02-Sep-2009 |
Lorenzo Colitti <lorenzo@google.com> |
Unbreak Dalvik VM initialization due to a native method that expects to be able to call an InetAddress no-args constructor. This constructor was package-private and was recently removed. This method is horribly complex and should go away (it probably doesn't even work, due to it attempting to find a class known as "java/io/FielDescriptor"), but it needs to be fixed for now. Change-Id: I56b1e0e07f4c97af82e0a4f14dfd2d8af16f6b82
|
3819a76e7c1f49253f0e077bd497f149340c02b8 |
|
25-Jul-2009 |
Jesse Wilson <jessewilson@google.com> |
Integrate luni module (but not tests) to Harmony r772995. Notable changes - Stripped "@since Android 1.0" from many files. Most files are now 100% the same in Dalvik and Harmony. - AbstractStringBuilder.reverse() supports surrogates - AbstractStringBuilder shares less to waste less memory - Bitset optimized - BufferedInputStream changed to support unsynchronized close() - BufferedOutputStream does flushInternal - BufferedReader supports EBCDIC NEL - Collections.synchronizedList().indexOf() does a copy for more concurrency - Classes in nio module changed: DatagramChannelImpl, SocketChannelImpl and ServerSocketChannelImpl (these depend on internal APIs changed in this update) - DataInputStream/DataOutputStream now use a small buffer to limit the number of times the underlying stream is accessed - Date now has a minutes offset, more efficient toString() - ExposedByteArrayInputStream: new internal class - DeleteOnExit moved to top-level class - FileDescriptor.isValid() now non-native - Float, Double lessThan optimized (fix for compare(-0.0F, 0.0F) still pending) - FileURLConnection now guesses content types from streams - HashMap iterator changes - Hashtable iterator changes - INetworkSystem - removes bind2(), createMulticastSocket, sendStream(), - renames createSocket to createStreamSocket - JarURLConnection rewritten - LinkedHashMap: new iterator - Locale, Currency, TimeZone: now use ICU in Harmony, plain Java in Dalvik - ObjectInputStream: Accessor objects in Harmony, direct native in Dalvik - ProxyClassFile - many changes - String - optimized ascii for toLowerCase, toUpperCase, compare - Timer - rewritten - TreeMap - rewritten - URLClassLoader - new - URLConnection - new guessContentTypeFromStream(), uses org.apache.harmony.awt.www.content to lookup content type handlers
|
3a900bbe031b949540ec3ce3a0e8d5b619afe303 |
|
12-Jun-2009 |
Lorenzo Colitti <lorenzo@google.com> |
Use RFC3493-conformant IPv6 headers.
|
6c26ab25beca7f6f810d1da4a1200b3f89c50ed3 |
|
16-Jun-2009 |
Lorenzo Colitti <lorenzo@google.com> |
Don't throw away the return value of connect().
|
d92947a455370c625e17242b8b5f0202b0aafc02 |
|
15-Jun-2009 |
Lorenzo Colitti <lorenzo@google.com> |
Define wrappers for connect() and bind() to support IPv6.
|
f3bdad5a430db777aa9bde8d3bcc8ac978da5ffa |
|
06-Jun-2009 |
Mathias Agopian <mathias@google.com> |
remove all references to LogSocket.h
|
bd044e0df405c771e1d4c3f14f870ffa78a20c0f |
|
05-Jun-2009 |
Lorenzo Colitti <lorenzo@google.com> |
Fix the sim build on systems that have old versions of the glibc headers.
|
ee7d15a6e4dcfe5fa2996d7aee263adeea8b6736 |
|
04-Jun-2009 |
Lorenzo Colitti <lorenzo@google.com> |
Unbreak sim build.
|
deeb93c5386df94d90e4629167711eddb02057f9 |
|
27-May-2009 |
Lorenzo Colitti <lorenzo@google.com> |
Make native socket code address-independent in preparation for IPv6 support.
|
742daa3d55ef09ec443fea5decaa991857b67a52 |
|
25-Mar-2009 |
Mike Wakerly <> |
Automated import from //branches/donutburger/...@140825,140825
|
0abea85d4b87e765382e1235800cf48c8a689d1d |
|
25-Mar-2009 |
Mike Wakerly <> |
Automated import from //branches/master/...@140826,140826
|
99409883d9c4c0ffb49b070ce307bb33a9dfe9f1 |
|
19-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import //branches/master/...@140412
|
f6c387128427e121477c1b32ad35cdcaa5101ba3 |
|
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
|
f72d5de56a522ac3be03873bdde26f23a5eeeb3c |
|
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
|
4c1a2915e40eceeb68dbc323d28b8bf8763af83b |
|
20-Jan-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //branches/cupcake/...@127101
|
89c1feb0a69a7707b271086e749975b3f7acacf7 |
|
18-Dec-2008 |
The Android Open Source Project <initial-contribution@android.com> |
Code drop from //branches/cupcake/...@124589
|
2ad60cfc28e14ee8f0bb038720836a4696c478ad |
|
21-Oct-2008 |
The Android Open Source Project <initial-contribution@android.com> |
Initial Contribution
|