From 4a84e96e64310fdfd9d24c691d12586b758a31de Mon Sep 17 00:00:00 2001 From: adam Date: Fri, 7 May 2004 23:19:36 +0000 Subject: [PATCH] outgoing smtp darcs-hash:20040507231936-5007d-c25d4976a117dc406469b4e4b91ed5b42c3edc3d.gz --- mail.jar | Bin 0 -> 42870 bytes src/org/ibex/mail/{filter => }/Filter.java | 3 +- src/org/ibex/mail/Message.java | 26 +- src/org/ibex/mail/{target => }/Target.java | 3 +- src/org/ibex/mail/protocol/Incoming.java | 3 +- src/org/ibex/mail/protocol/SMTP.java | 159 +- .../MessageStore.java => target/FileSystem.java} | 17 +- src/org/ibex/mail/target/Script.java | 42 +- upstream/org.ibex.core/AUTHORS | 17 + upstream/org.ibex.core/CHANGES | 1066 + upstream/org.ibex.core/COPYING | 2033 + upstream/org.ibex.core/Makefile | 439 + upstream/org.ibex.core/Makefile.upstream | 217 + upstream/org.ibex.core/README | 104 + .../build/java/org/ibex/core/Box.java | 943 + .../build/java/org/ibex/core/Ibex.java | 380 + .../build/java/org/ibex/core/LocalStorage.java | 55 + .../build/java/org/ibex/core/Main.java | 104 + .../build/java/org/ibex/core/Template.java | 354 + .../build/java/org/ibex/graphics/Affine.java | 140 + .../build/java/org/ibex/graphics/Color.java | 187 + .../build/java/org/ibex/graphics/Font.java | 187 + .../build/java/org/ibex/graphics/GIF.java | 445 + .../build/java/org/ibex/graphics/HTML.java | 341 + .../build/java/org/ibex/graphics/PNG.java | 698 + .../build/java/org/ibex/graphics/Paint.java | 102 + .../build/java/org/ibex/graphics/Path.java | 544 + .../build/java/org/ibex/graphics/Picture.java | 67 + .../build/java/org/ibex/graphics/PixelBuffer.java | 89 + .../build/java/org/ibex/graphics/SVG.java | 301 + .../build/java/org/ibex/graphics/Surface.java | 405 + .../build/java/org/ibex/js/ByteCodes.java | 94 + .../build/java/org/ibex/js/Interpreter.java | 744 + .../org.ibex.core/build/java/org/ibex/js/JS.java | 236 + .../build/java/org/ibex/js/JSArray.java | 262 + .../build/java/org/ibex/js/JSDate.java | 1253 + .../build/java/org/ibex/js/JSExn.java | 55 + .../build/java/org/ibex/js/JSFunction.java | 131 + .../build/java/org/ibex/js/JSMath.java | 91 + .../build/java/org/ibex/js/JSReflection.java | 79 + .../build/java/org/ibex/js/JSRegexp.java | 336 + .../build/java/org/ibex/js/JSScope.java | 152 + .../build/java/org/ibex/js/Lexer.java | 397 + .../build/java/org/ibex/js/Parser.java | 982 + .../build/java/org/ibex/js/Stream.java | 157 + .../build/java/org/ibex/js/Tokens.java | 120 + .../org.ibex.core/build/java/org/ibex/js/Trap.java | 61 + .../build/java/org/ibex/net/HTTP.java | 1303 + .../build/java/org/ibex/net/SOAP.java | 282 + .../build/java/org/ibex/net/XMLRPC.java | 348 + .../build/java/org/ibex/plat/AWT.java | 513 + .../build/java/org/ibex/plat/JVM.java | 11 + .../build/java/org/ibex/plat/Java2.java | 238 + .../build/java/org/ibex/plat/Platform.java | 295 + .../org/ibex/util/AccessibleCharArrayWriter.java | 9 + .../build/java/org/ibex/util/BalancedTree.java | 410 + .../build/java/org/ibex/util/CAB.java | 501 + .../build/java/org/ibex/util/Cache.java | 126 + .../java/org/ibex/util/CachedInputStream.java | 88 + .../build/java/org/ibex/util/Callback.java | 15 + .../java/org/ibex/util/CounterEnumeration.java | 17 + .../build/java/org/ibex/util/DirtyList.java | 181 + .../org/ibex/util/EjAlbertBrowserLauncher.java | 589 + .../build/java/org/ibex/util/Grammar.java | 105 + .../build/java/org/ibex/util/Hash.java | 174 + .../java/org/ibex/util/InputStreamToByteArray.java | 35 + .../build/java/org/ibex/util/KnownLength.java | 25 + .../build/java/org/ibex/util/LineReader.java | 40 + .../build/java/org/ibex/util/Log.java | 201 + .../build/java/org/ibex/util/MSPack.java | 91 + .../java/org/ibex/util/PackBytesIntoString.java | 47 + .../build/java/org/ibex/util/Queue.java | 91 + .../build/java/org/ibex/util/Scheduler.java | 94 + .../build/java/org/ibex/util/Semaphore.java | 35 + .../build/java/org/ibex/util/Simplex.java | 1345 + .../build/java/org/ibex/util/Task.java | 8 + .../build/java/org/ibex/util/Vec.java | 221 + .../build/java/org/ibex/util/XML.java | 1174 + upstream/org.ibex.core/doc/ibex-doc.xml | 204 + .../org.ibex.core/doc/reference/alignmentpoint.pdf | Bin 0 -> 109449 bytes upstream/org.ibex.core/doc/reference/grid.pdf | Bin 0 -> 27243 bytes upstream/org.ibex.core/doc/reference/layout.pdf | Bin 0 -> 6113 bytes upstream/org.ibex.core/doc/reference/lifecycle.pdf | Bin 0 -> 74040 bytes upstream/org.ibex.core/doc/reference/offscreen.pdf | Bin 0 -> 11575 bytes upstream/org.ibex.core/doc/reference/pdftricks.sty | 363 + upstream/org.ibex.core/doc/reference/reference.xml | 2422 + .../org.ibex.core/doc/reference/threeviews.pdf | Bin 0 -> 12022 bytes upstream/org.ibex.core/next.build | 1 + upstream/org.ibex.core/src/org/ibex/core/Box.java | 943 + upstream/org.ibex.core/src/org/ibex/core/Ibex.java | 380 + .../src/org/ibex/core/LocalStorage.java | 55 + upstream/org.ibex.core/src/org/ibex/core/Main.java | 104 + .../org.ibex.core/src/org/ibex/core/Template.java | 354 + .../src/org/ibex/core/builtin/bevel.ibex | 26 + .../src/org/ibex/core/builtin/bevel_2_down.png | Bin 0 -> 183 bytes .../src/org/ibex/core/builtin/bevel_2_flat.png | Bin 0 -> 164 bytes .../src/org/ibex/core/builtin/bevel_2_up.png | Bin 0 -> 177 bytes .../src/org/ibex/core/builtin/button.ibex | 53 + .../src/org/ibex/core/builtin/edit.ibex | 234 + .../src/org/ibex/core/builtin/edit_lib.ibex | 680 + .../src/org/ibex/core/builtin/key.png | Bin 0 -> 604 bytes .../src/org/ibex/core/builtin/lithium.png | Bin 0 -> 82170 bytes .../src/org/ibex/core/builtin/password12.xwf | Bin 0 -> 796 bytes .../src/org/ibex/core/builtin/progress.png | Bin 0 -> 144 bytes .../org/ibex/core/builtin/proxy_authorization.ibex | 87 + .../src/org/ibex/core/builtin/scar.png | Bin 0 -> 1068 bytes .../src/org/ibex/graphics/Affine.java | 140 + .../org.ibex.core/src/org/ibex/graphics/Color.java | 187 + .../org.ibex.core/src/org/ibex/graphics/Font.java | 187 + .../org.ibex.core/src/org/ibex/graphics/Freetype.c | 210 + .../org.ibex.core/src/org/ibex/graphics/GIF.java | 445 + .../org.ibex.core/src/org/ibex/graphics/HTML.java | 341 + .../org.ibex.core/src/org/ibex/graphics/PNG.java | 698 + .../org.ibex.core/src/org/ibex/graphics/Paint.java | 102 + .../org.ibex.core/src/org/ibex/graphics/Path.java | 544 + .../src/org/ibex/graphics/Picture.java | 67 + .../src/org/ibex/graphics/PixelBuffer.java | 89 + .../org.ibex.core/src/org/ibex/graphics/SVG.java | 301 + .../src/org/ibex/graphics/Surface.java | 405 + .../org.ibex.core/src/org/ibex/js/ByteCodes.java | 94 + .../org.ibex.core/src/org/ibex/js/Interpreter.java | 744 + upstream/org.ibex.core/src/org/ibex/js/JS.java | 236 + .../org.ibex.core/src/org/ibex/js/JSArray.java | 262 + upstream/org.ibex.core/src/org/ibex/js/JSDate.java | 1253 + upstream/org.ibex.core/src/org/ibex/js/JSExn.java | 55 + .../org.ibex.core/src/org/ibex/js/JSFunction.java | 131 + upstream/org.ibex.core/src/org/ibex/js/JSMath.java | 91 + .../src/org/ibex/js/JSReflection.java | 79 + .../org.ibex.core/src/org/ibex/js/JSRegexp.java | 336 + .../org.ibex.core/src/org/ibex/js/JSScope.java | 153 + upstream/org.ibex.core/src/org/ibex/js/Lexer.java | 398 + upstream/org.ibex.core/src/org/ibex/js/Parser.java | 982 + upstream/org.ibex.core/src/org/ibex/js/Stream.java | 157 + upstream/org.ibex.core/src/org/ibex/js/Tokens.java | 120 + upstream/org.ibex.core/src/org/ibex/js/Trap.java | 61 + upstream/org.ibex.core/src/org/ibex/net/HTTP.java | 1303 + upstream/org.ibex.core/src/org/ibex/net/SOAP.java | 282 + .../org.ibex.core/src/org/ibex/net/XMLRPC.java | 348 + upstream/org.ibex.core/src/org/ibex/plat/AWT.java | 513 + upstream/org.ibex.core/src/org/ibex/plat/Darwin.cc | 1284 + .../org.ibex.core/src/org/ibex/plat/Darwin.java | 351 + .../src/org/ibex/plat/DarwinCarbonHeaders.h |73557 ++++++++++++++++++++ upstream/org.ibex.core/src/org/ibex/plat/GCJ.cc | 155 + upstream/org.ibex.core/src/org/ibex/plat/GCJ.java | 47 + upstream/org.ibex.core/src/org/ibex/plat/JVM.java | 11 + .../org.ibex.core/src/org/ibex/plat/Java2.java | 238 + upstream/org.ibex.core/src/org/ibex/plat/Linux.cc | 27 + .../org.ibex.core/src/org/ibex/plat/Linux.java | 18 + upstream/org.ibex.core/src/org/ibex/plat/OpenGL.cc | 305 + .../org.ibex.core/src/org/ibex/plat/OpenGL.java | 266 + upstream/org.ibex.core/src/org/ibex/plat/POSIX.cc | 58 + .../org.ibex.core/src/org/ibex/plat/POSIX.java | 44 + .../org.ibex.core/src/org/ibex/plat/PalmOS.java | 20 + .../org.ibex.core/src/org/ibex/plat/Platform.java | 295 + .../org.ibex.core/src/org/ibex/plat/Solaris.cc | 6 + .../org.ibex.core/src/org/ibex/plat/Solaris.java | 6 + upstream/org.ibex.core/src/org/ibex/plat/Win32.cc | 837 + upstream/org.ibex.core/src/org/ibex/plat/Win32.inf | 22 + .../org.ibex.core/src/org/ibex/plat/Win32.java | 288 + upstream/org.ibex.core/src/org/ibex/plat/X11.cc | 2333 + upstream/org.ibex.core/src/org/ibex/plat/X11.java | 221 + .../org/ibex/util/AccessibleCharArrayWriter.java | 9 + .../src/org/ibex/util/BalancedTree.java | 410 + upstream/org.ibex.core/src/org/ibex/util/CAB.java | 501 + .../org.ibex.core/src/org/ibex/util/Cache.java | 126 + .../src/org/ibex/util/CachedInputStream.java | 88 + .../org.ibex.core/src/org/ibex/util/Callback.java | 15 + .../src/org/ibex/util/CounterEnumeration.java | 17 + .../org.ibex.core/src/org/ibex/util/DirtyList.java | 181 + .../src/org/ibex/util/EjAlbertBrowserLauncher.java | 589 + .../org.ibex.core/src/org/ibex/util/Grammar.java | 105 + upstream/org.ibex.core/src/org/ibex/util/Hash.java | 174 + .../src/org/ibex/util/InputStreamToByteArray.java | 35 + .../src/org/ibex/util/KnownLength.java | 25 + .../src/org/ibex/util/LineReader.java | 40 + upstream/org.ibex.core/src/org/ibex/util/Log.java | 201 + upstream/org.ibex.core/src/org/ibex/util/MSPack.c | 202 + .../org.ibex.core/src/org/ibex/util/MSPack.java | 91 + .../org.ibex.core/src/org/ibex/util/NanoGoat.java | 475 + .../src/org/ibex/util/PackBytesIntoString.java | 47 + .../src/org/ibex/util/Preprocessor.java | 342 + .../org.ibex.core/src/org/ibex/util/Queue.java | 91 + .../org.ibex.core/src/org/ibex/util/Scheduler.java | 94 + .../org.ibex.core/src/org/ibex/util/Semaphore.java | 35 + .../org.ibex.core/src/org/ibex/util/Simplex.java | 1345 + upstream/org.ibex.core/src/org/ibex/util/Task.java | 8 + upstream/org.ibex.core/src/org/ibex/util/Vec.java | 221 + upstream/org.ibex.core/src/org/ibex/util/XML.java | 1174 + .../org.ibex.core/upstream/darwin-linker/links.sh | 257 + .../upstream/darwin-linker/patches/cctools.patch | 2369 + .../upstream/freetype-2.1.4/patches/freetype.patch | 25 + .../freetype-2.1.4/patches/ft-nostdio.patch | 83 + .../gcc-3.3/patches-darwin/darwin-gc.patch |27286 ++++++++ .../upstream/gcc-3.3/patches/basic_file_io.patch | 17 + .../upstream/gcc-3.3/patches/fixposix.patch | 10 + .../upstream/gcc-3.3/patches/force-locale.patch | 20 + .../gcc-3.3/patches/gcc-fdata-sections-bss.patch | 40 + .../upstream/gcc-3.3/patches/linux-fix-gc.patch | 45 + .../upstream/gcc-3.3/patches/minimal.patch | 83 + .../upstream/gcc-3.3/patches/mips.patch | 229 + .../upstream/gcc-3.3/patches/nolibstdc++.patch | 19 + .../upstream/gcc-3.3/patches/ranlib.patch | 90 + .../upstream/gcc-3.3/patches/solaris.patch | 46 + .../gcc-3.3/patches/zzz-inhibit.reflection.patch | 756 + .../upstream/gnu.regexp-1.1.4/src/COPYING | 340 + .../upstream/gnu.regexp-1.1.4/src/COPYING.LIB | 504 + .../upstream/gnu.regexp-1.1.4/src/README | 75 + .../upstream/gnu.regexp-1.1.4/src/TODO | 70 + .../src/docs/api/allclasses-frame.html | 51 + .../src/docs/api/deprecated-list.html | 126 + .../src/docs/api/gnu/regexp/CharIndexed.html | 254 + .../src/docs/api/gnu/regexp/RE.html | 1038 + .../src/docs/api/gnu/regexp/REException.html | 489 + .../docs/api/gnu/regexp/REFilterInputStream.html | 308 + .../src/docs/api/gnu/regexp/REFilterReader.html | 303 + .../src/docs/api/gnu/regexp/REMatch.html | 429 + .../docs/api/gnu/regexp/REMatchEnumeration.html | 293 + .../src/docs/api/gnu/regexp/RESyntax.html | 1058 + .../src/docs/api/gnu/regexp/UncheckedRE.html | 273 + .../src/docs/api/gnu/regexp/package-frame.html | 60 + .../src/docs/api/gnu/regexp/package-summary.html | 162 + .../src/docs/api/gnu/regexp/package-tree.html | 128 + .../src/docs/api/gnu/regexp/util/Egrep.html | 190 + .../src/docs/api/gnu/regexp/util/Grep.html | 217 + .../src/docs/api/gnu/regexp/util/REApplet.html | 304 + .../src/docs/api/gnu/regexp/util/RETest.html | 206 + .../src/docs/api/gnu/regexp/util/Tests.html | 189 + .../docs/api/gnu/regexp/util/package-frame.html | 34 + .../docs/api/gnu/regexp/util/package-summary.html | 122 + .../src/docs/api/gnu/regexp/util/package-tree.html | 112 + .../gnu.regexp-1.1.4/src/docs/api/help-doc.html | 146 + .../gnu.regexp-1.1.4/src/docs/api/index-all.html | 627 + .../gnu.regexp-1.1.4/src/docs/api/index.html | 25 + .../src/docs/api/overview-frame.html | 38 + .../src/docs/api/overview-summary.html | 104 + .../src/docs/api/overview-tree.html | 137 + .../gnu.regexp-1.1.4/src/docs/api/package-list | 2 + .../gnu.regexp-1.1.4/src/docs/api/packages.html | 26 + .../src/docs/api/serialized-form.html | 488 + .../gnu.regexp-1.1.4/src/docs/api/stylesheet.css | 29 + .../gnu.regexp-1.1.4/src/docs/changes.html | 208 + .../gnu.regexp-1.1.4/src/docs/credits.html | 40 + .../upstream/gnu.regexp-1.1.4/src/docs/faq.html | 102 + .../src/docs/gnu-regexp-applet.jar | Bin 0 -> 33087 bytes .../upstream/gnu.regexp-1.1.4/src/docs/index.html | 116 + .../gnu.regexp-1.1.4/src/docs/reapplet.html | 56 + .../upstream/gnu.regexp-1.1.4/src/docs/syntax.html | 231 + .../gnu.regexp-1.1.4/src/lib/gnu-regexp-1.1.4.jar | Bin 0 -> 30163 bytes .../upstream/gnu.regexp-1.1.4/src/src/Makefile | 167 + .../src/src/gnu/regexp/CharIndexed.java | 65 + .../src/src/gnu/regexp/CharIndexedCharArray.java | 43 + .../src/src/gnu/regexp/CharIndexedInputStream.java | 131 + .../src/src/gnu/regexp/CharIndexedReader.java | 142 + .../src/src/gnu/regexp/CharIndexedString.java | 45 + .../src/gnu/regexp/CharIndexedStringBuffer.java | 43 + .../src/src/gnu/regexp/MessagesBundle.properties | 22 + .../gnu.regexp-1.1.4/src/src/gnu/regexp/RE.java | 1343 + .../src/src/gnu/regexp/REException.java | 164 + .../src/src/gnu/regexp/REFilterInputStream.java | 121 + .../src/src/gnu/regexp/REFilterReader.java | 117 + .../src/src/gnu/regexp/REMatch.java | 244 + .../src/src/gnu/regexp/REMatchEnumeration.java | 116 + .../src/src/gnu/regexp/RESyntax.java | 491 + .../src/src/gnu/regexp/REToken.java | 68 + .../src/src/gnu/regexp/RETokenAny.java | 54 + .../src/src/gnu/regexp/RETokenBackRef.java | 53 + .../src/src/gnu/regexp/RETokenChar.java | 72 + .../src/src/gnu/regexp/RETokenEnd.java | 55 + .../src/src/gnu/regexp/RETokenEndSub.java | 35 + .../src/src/gnu/regexp/RETokenLookAhead.java | 68 + .../src/src/gnu/regexp/RETokenOneOf.java | 112 + .../src/src/gnu/regexp/RETokenPOSIX.java | 125 + .../src/src/gnu/regexp/RETokenRange.java | 51 + .../src/src/gnu/regexp/RETokenRepeated.java | 207 + .../src/src/gnu/regexp/RETokenStart.java | 69 + .../src/src/gnu/regexp/RETokenWordBoundary.java | 85 + .../src/src/gnu/regexp/UncheckedRE.java | 91 + .../src/src/gnu/regexp/util/Egrep.java | 43 + .../src/src/gnu/regexp/util/Grep.java | 349 + .../src/src/gnu/regexp/util/GrepUsage.txt | 48 + .../src/src/gnu/regexp/util/REApplet.java | 223 + .../src/src/gnu/regexp/util/RETest.java | 137 + .../src/src/gnu/regexp/util/Tests.java | 141 + .../upstream/jode-1.1.1/patches/javadep.patch | 13 + .../patches/object.has.no.superiface.patch | 10 + .../libmspack-20030726/patches/libmspack.patch | 25 + .../upstream/newlib-1.11.0/patches/mips.patch | 107 + .../upstream/org.ibex.crypto/Makefile | 52 + .../upstream/org.ibex.crypto/doc/COPYING | 544 + .../src/org/ibex/crypto/Base36.java | 13 + .../src/org/ibex/crypto/Base64.java | 254 + .../org.ibex.crypto/src/org/ibex/crypto/DER.java | 322 + .../src/org/ibex/crypto/Digest.java | 88 + .../org.ibex.crypto/src/org/ibex/crypto/HMAC.java | 41 + .../org.ibex.crypto/src/org/ibex/crypto/MD2.java | 235 + .../org.ibex.crypto/src/org/ibex/crypto/MD5.java | 267 + .../org.ibex.crypto/src/org/ibex/crypto/PKCS1.java | 41 + .../org.ibex.crypto/src/org/ibex/crypto/RC4.java | 35 + .../org.ibex.crypto/src/org/ibex/crypto/RSA.java | 51 + .../org.ibex.crypto/src/org/ibex/crypto/SHA1.java | 246 + .../org.ibex.crypto/src/org/ibex/crypto/X509.java | 384 + .../org.ibex.crypto/src/org/ibex/net/SSL.java | 1010 + .../src/org/ibex/net/ssl/GenCompactCAList.java | 98 + .../src/org/ibex/net/ssl/RootCerts.java | 29 + .../src/org/ibex/net/ssl/SwingVerifyCallback.java | 99 + .../org.ibex.crypto/src/org/ibex/net/ssl/Test.java | 32 + .../src/org/ibex/net/ssl/rootcerts.dat | Bin 0 -> 32407 bytes .../upstream/org.ibex.nestedvm/Makefile | 368 + .../upstream/org.ibex.nestedvm/doc/COPYING | 504 + .../upstream/org.ibex.nestedvm/doc/ChangeLog | 59 + .../upstream/org.ibex.nestedvm/doc/IVME.xls | Bin 0 -> 124416 bytes .../doc/IVME04 Submission Report.pdf | Bin 0 -> 81617 bytes .../upstream/org.ibex.nestedvm/doc/IVME2.xls | Bin 0 -> 43520 bytes .../upstream/org.ibex.nestedvm/doc/acmconf.cls | 442 + .../upstream/org.ibex.nestedvm/doc/chart1.pdf | Bin 0 -> 16364 bytes .../upstream/org.ibex.nestedvm/doc/chart2.pdf | Bin 0 -> 19025 bytes .../upstream/org.ibex.nestedvm/doc/chart3.pdf | Bin 0 -> 16740 bytes .../upstream/org.ibex.nestedvm/doc/chart4.pdf | Bin 0 -> 27643 bytes .../upstream/org.ibex.nestedvm/doc/chart5.pdf | Bin 0 -> 16187 bytes .../upstream/org.ibex.nestedvm/doc/chart6.pdf | Bin 0 -> 25310 bytes .../upstream/org.ibex.nestedvm/doc/chart7.pdf | Bin 0 -> 25202 bytes .../org.ibex.nestedvm/doc/max_per_method.pdf | 118 + .../upstream/org.ibex.nestedvm/doc/nestedvm.bib | 99 + .../org.ibex.nestedvm/doc/nestedvm.ivme04-fig1.pdf | Bin 0 -> 6223 bytes .../org.ibex.nestedvm/doc/nestedvm.ivme04-fig1.tex | 21 + .../org.ibex.nestedvm/doc/nestedvm.ivme04-fig2.pdf | Bin 0 -> 6512 bytes .../org.ibex.nestedvm/doc/nestedvm.ivme04-fig2.tex | 25 + .../org.ibex.nestedvm/doc/nestedvm.ivme04-fig3.pdf | Bin 0 -> 5882 bytes .../org.ibex.nestedvm/doc/nestedvm.ivme04-fig3.tex | 24 + .../org.ibex.nestedvm/doc/nestedvm.ivme04-fig4.pdf | Bin 0 -> 4345 bytes .../org.ibex.nestedvm/doc/nestedvm.ivme04-fig4.tex | 22 + .../org.ibex.nestedvm/doc/nestedvm.ivme04-fig5.pdf | Bin 0 -> 6849 bytes .../org.ibex.nestedvm/doc/nestedvm.ivme04-fig5.tex | 24 + .../org.ibex.nestedvm/doc/nestedvm.ivme04-fig6.pdf | Bin 0 -> 6477 bytes .../org.ibex.nestedvm/doc/nestedvm.ivme04-fig6.tex | 23 + .../org.ibex.nestedvm/doc/nestedvm.ivme04.aux | 64 + .../org.ibex.nestedvm/doc/nestedvm.ivme04.bbl | 84 + .../org.ibex.nestedvm/doc/nestedvm.ivme04.blg | 73 + .../org.ibex.nestedvm/doc/nestedvm.ivme04.log | 667 + .../org.ibex.nestedvm/doc/nestedvm.ivme04.tex | 1131 + .../upstream/org.ibex.nestedvm/doc/pdftricks.sty | 363 + .../upstream/org.ibex.nestedvm/doc/pst2pdf | 22 + .../upstream/org.ibex.nestedvm/doc/tmp.inputs | 2 + .../src/org/xwt/mips/ClassFileCompiler.java | 2163 + .../src/org/xwt/mips/ClassLoader.java | 44 + .../src/org/xwt/mips/Compiler.java | 540 + .../org.ibex.nestedvm/src/org/xwt/mips/ELF.java | 381 + .../src/org/xwt/mips/Interpreter.java | 757 + .../src/org/xwt/mips/JavaSourceCompiler.java | 936 + .../src/org/xwt/mips/Registers.java | 42 + .../src/org/xwt/mips/Runtime.java | 1256 + .../src/org/xwt/mips/UnixRuntime.java | 610 + .../src/org/xwt/mips/UsermodeConstants.java | 242 + .../org.ibex.nestedvm/src/org/xwt/mips/crt0.c | 31 + .../org.ibex.nestedvm/src/org/xwt/mips/linker.ld | 60 + .../org.ibex.nestedvm/src/org/xwt/mips/support.s | 122 + .../src/org/xwt/mips/support_aux.c | 124 + .../org.ibex.nestedvm/src/org/xwt/mips/syscalls.h | 32 + .../src/org/xwt/mips/util/SeekableByteArray.java | 37 + .../src/org/xwt/mips/util/SeekableData.java | 12 + .../src/org/xwt/mips/util/SeekableFile.java | 24 + .../src/org/xwt/mips/util/SeekableInputStream.java | 48 + .../org.ibex.nestedvm/src/tests/CXXTest.cc | 54 + .../org.ibex.nestedvm/src/tests/CallTest.java | 66 + .../upstream/org.ibex.nestedvm/src/tests/Echo.java | 35 + .../org.ibex.nestedvm/src/tests/EchoHelper.c | 16 + .../upstream/org.ibex.nestedvm/src/tests/Env.java | 32 + .../org.ibex.nestedvm/src/tests/FDTest.java | 15 + .../upstream/org.ibex.nestedvm/src/tests/FTBench.c | 95 + .../upstream/org.ibex.nestedvm/src/tests/Fork.c | 55 + .../org.ibex.nestedvm/src/tests/FreeTypeDemo.java | 170 + .../src/tests/FreeTypeDemoHelper.c | 87 + .../upstream/org.ibex.nestedvm/src/tests/Hello.c | 6 + .../org.ibex.nestedvm/src/tests/MSPack.java | 106 + .../org.ibex.nestedvm/src/tests/MSPackBench.c | 36 + .../org.ibex.nestedvm/src/tests/MSPackHelper.c | 215 + .../org.ibex.nestedvm/src/tests/Paranoia.c | 2247 + .../upstream/org.ibex.nestedvm/src/tests/Simple.c | 9 + .../org.ibex.nestedvm/src/tests/SpeedTest.java | 68 + .../upstream/org.ibex.nestedvm/src/tests/Test.c | 208 + .../upstream/org.ibex.nestedvm/src/tests/check.sh | 164 + .../upstream/org.ibex.nestedvm/upstream/Makefile | 227 + .../upstream/patches/binutils-no64.patch | 29 + .../upstream/patches/boehm-gc.patch | 2879 + .../upstream/patches/busybox.patch | 825 + .../upstream/patches/freetype.patch | 25 + .../upstream/patches/ft-nostdio.patch | 83 + .../upstream/patches/gcc-fdata-sections-bss.patch | 30 + .../upstream/patches/gcc-fixes.patch | 65 + .../upstream/patches/libmspack.patch | 25 + .../upstream/patches/newlib-malloc.patch | 21 + .../upstream/patches/newlib-mips.patch | 2863 + .../upstream/patches/newlib-tzset.patch | 17 + upstream/org.ibex.crypto/Makefile | 52 + upstream/org.ibex.crypto/doc/COPYING | 544 + .../src/org/ibex/crypto/Base36.java | 13 + .../src/org/ibex/crypto/Base64.java | 254 + .../org.ibex.crypto/src/org/ibex/crypto/DER.java | 322 + .../src/org/ibex/crypto/Digest.java | 88 + .../org.ibex.crypto/src/org/ibex/crypto/HMAC.java | 41 + .../org.ibex.crypto/src/org/ibex/crypto/MD2.java | 235 + .../org.ibex.crypto/src/org/ibex/crypto/MD5.java | 267 + .../org.ibex.crypto/src/org/ibex/crypto/PKCS1.java | 41 + .../org.ibex.crypto/src/org/ibex/crypto/RC4.java | 35 + .../org.ibex.crypto/src/org/ibex/crypto/RSA.java | 51 + .../org.ibex.crypto/src/org/ibex/crypto/SHA1.java | 246 + .../org.ibex.crypto/src/org/ibex/crypto/X509.java | 384 + upstream/org.ibex.crypto/src/org/ibex/net/SSL.java | 1010 + .../src/org/ibex/net/ssl/GenCompactCAList.java | 98 + .../src/org/ibex/net/ssl/RootCerts.java | 29 + .../src/org/ibex/net/ssl/SwingVerifyCallback.java | 99 + .../org.ibex.crypto/src/org/ibex/net/ssl/Test.java | 32 + .../src/org/ibex/net/ssl/rootcerts.dat | Bin 0 -> 32407 bytes 413 files changed, 204038 insertions(+), 76 deletions(-) create mode 100644 mail.jar rename src/org/ibex/mail/{filter => }/Filter.java (76%) rename src/org/ibex/mail/{target => }/Target.java (82%) rename src/org/ibex/mail/{store/MessageStore.java => target/FileSystem.java} (90%) create mode 100644 upstream/org.ibex.core/AUTHORS create mode 100644 upstream/org.ibex.core/CHANGES create mode 100644 upstream/org.ibex.core/COPYING create mode 100644 upstream/org.ibex.core/Makefile create mode 100644 upstream/org.ibex.core/Makefile.upstream create mode 100644 upstream/org.ibex.core/README create mode 100644 upstream/org.ibex.core/build/java/org/ibex/core/Box.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/core/Ibex.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/core/LocalStorage.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/core/Main.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/core/Template.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/graphics/Affine.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/graphics/Color.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/graphics/Font.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/graphics/GIF.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/graphics/HTML.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/graphics/PNG.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/graphics/Paint.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/graphics/Path.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/graphics/Picture.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/graphics/PixelBuffer.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/graphics/SVG.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/graphics/Surface.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/js/ByteCodes.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/js/Interpreter.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/js/JS.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/js/JSArray.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/js/JSDate.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/js/JSExn.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/js/JSFunction.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/js/JSMath.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/js/JSReflection.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/js/JSRegexp.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/js/JSScope.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/js/Lexer.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/js/Parser.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/js/Stream.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/js/Tokens.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/js/Trap.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/net/HTTP.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/net/SOAP.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/net/XMLRPC.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/plat/AWT.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/plat/JVM.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/plat/Java2.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/plat/Platform.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/util/AccessibleCharArrayWriter.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/util/BalancedTree.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/util/CAB.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/util/Cache.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/util/CachedInputStream.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/util/Callback.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/util/CounterEnumeration.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/util/DirtyList.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/util/EjAlbertBrowserLauncher.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/util/Grammar.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/util/Hash.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/util/InputStreamToByteArray.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/util/KnownLength.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/util/LineReader.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/util/Log.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/util/MSPack.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/util/PackBytesIntoString.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/util/Queue.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/util/Scheduler.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/util/Semaphore.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/util/Simplex.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/util/Task.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/util/Vec.java create mode 100644 upstream/org.ibex.core/build/java/org/ibex/util/XML.java create mode 100644 upstream/org.ibex.core/doc/ibex-doc.xml create mode 100644 upstream/org.ibex.core/doc/reference/alignmentpoint.pdf create mode 100644 upstream/org.ibex.core/doc/reference/grid.pdf create mode 100644 upstream/org.ibex.core/doc/reference/layout.pdf create mode 100644 upstream/org.ibex.core/doc/reference/lifecycle.pdf create mode 100644 upstream/org.ibex.core/doc/reference/offscreen.pdf create mode 100644 upstream/org.ibex.core/doc/reference/pdftricks.sty create mode 100644 upstream/org.ibex.core/doc/reference/reference.xml create mode 100644 upstream/org.ibex.core/doc/reference/threeviews.pdf create mode 100644 upstream/org.ibex.core/next.build create mode 100644 upstream/org.ibex.core/src/org/ibex/core/Box.java create mode 100644 upstream/org.ibex.core/src/org/ibex/core/Ibex.java create mode 100644 upstream/org.ibex.core/src/org/ibex/core/LocalStorage.java create mode 100644 upstream/org.ibex.core/src/org/ibex/core/Main.java create mode 100644 upstream/org.ibex.core/src/org/ibex/core/Template.java create mode 100644 upstream/org.ibex.core/src/org/ibex/core/builtin/bevel.ibex create mode 100644 upstream/org.ibex.core/src/org/ibex/core/builtin/bevel_2_down.png create mode 100644 upstream/org.ibex.core/src/org/ibex/core/builtin/bevel_2_flat.png create mode 100644 upstream/org.ibex.core/src/org/ibex/core/builtin/bevel_2_up.png create mode 100644 upstream/org.ibex.core/src/org/ibex/core/builtin/button.ibex create mode 100644 upstream/org.ibex.core/src/org/ibex/core/builtin/edit.ibex create mode 100644 upstream/org.ibex.core/src/org/ibex/core/builtin/edit_lib.ibex create mode 100644 upstream/org.ibex.core/src/org/ibex/core/builtin/key.png create mode 100644 upstream/org.ibex.core/src/org/ibex/core/builtin/lithium.png create mode 100644 upstream/org.ibex.core/src/org/ibex/core/builtin/password12.xwf create mode 100644 upstream/org.ibex.core/src/org/ibex/core/builtin/progress.png create mode 100644 upstream/org.ibex.core/src/org/ibex/core/builtin/proxy_authorization.ibex create mode 100644 upstream/org.ibex.core/src/org/ibex/core/builtin/scar.png create mode 100644 upstream/org.ibex.core/src/org/ibex/graphics/Affine.java create mode 100644 upstream/org.ibex.core/src/org/ibex/graphics/Color.java create mode 100644 upstream/org.ibex.core/src/org/ibex/graphics/Font.java create mode 100644 upstream/org.ibex.core/src/org/ibex/graphics/Freetype.c create mode 100644 upstream/org.ibex.core/src/org/ibex/graphics/GIF.java create mode 100644 upstream/org.ibex.core/src/org/ibex/graphics/HTML.java create mode 100644 upstream/org.ibex.core/src/org/ibex/graphics/PNG.java create mode 100644 upstream/org.ibex.core/src/org/ibex/graphics/Paint.java create mode 100644 upstream/org.ibex.core/src/org/ibex/graphics/Path.java create mode 100644 upstream/org.ibex.core/src/org/ibex/graphics/Picture.java create mode 100644 upstream/org.ibex.core/src/org/ibex/graphics/PixelBuffer.java create mode 100644 upstream/org.ibex.core/src/org/ibex/graphics/SVG.java create mode 100644 upstream/org.ibex.core/src/org/ibex/graphics/Surface.java create mode 100644 upstream/org.ibex.core/src/org/ibex/js/ByteCodes.java create mode 100644 upstream/org.ibex.core/src/org/ibex/js/Interpreter.java create mode 100644 upstream/org.ibex.core/src/org/ibex/js/JS.java create mode 100644 upstream/org.ibex.core/src/org/ibex/js/JSArray.java create mode 100644 upstream/org.ibex.core/src/org/ibex/js/JSDate.java create mode 100644 upstream/org.ibex.core/src/org/ibex/js/JSExn.java create mode 100644 upstream/org.ibex.core/src/org/ibex/js/JSFunction.java create mode 100644 upstream/org.ibex.core/src/org/ibex/js/JSMath.java create mode 100644 upstream/org.ibex.core/src/org/ibex/js/JSReflection.java create mode 100644 upstream/org.ibex.core/src/org/ibex/js/JSRegexp.java create mode 100644 upstream/org.ibex.core/src/org/ibex/js/JSScope.java create mode 100644 upstream/org.ibex.core/src/org/ibex/js/Lexer.java create mode 100644 upstream/org.ibex.core/src/org/ibex/js/Parser.java create mode 100644 upstream/org.ibex.core/src/org/ibex/js/Stream.java create mode 100644 upstream/org.ibex.core/src/org/ibex/js/Tokens.java create mode 100644 upstream/org.ibex.core/src/org/ibex/js/Trap.java create mode 100644 upstream/org.ibex.core/src/org/ibex/net/HTTP.java create mode 100644 upstream/org.ibex.core/src/org/ibex/net/SOAP.java create mode 100644 upstream/org.ibex.core/src/org/ibex/net/XMLRPC.java create mode 100644 upstream/org.ibex.core/src/org/ibex/plat/AWT.java create mode 100644 upstream/org.ibex.core/src/org/ibex/plat/Darwin.cc create mode 100644 upstream/org.ibex.core/src/org/ibex/plat/Darwin.java create mode 100644 upstream/org.ibex.core/src/org/ibex/plat/DarwinCarbonHeaders.h create mode 100644 upstream/org.ibex.core/src/org/ibex/plat/GCJ.cc create mode 100644 upstream/org.ibex.core/src/org/ibex/plat/GCJ.java create mode 100644 upstream/org.ibex.core/src/org/ibex/plat/JVM.java create mode 100644 upstream/org.ibex.core/src/org/ibex/plat/Java2.java create mode 100644 upstream/org.ibex.core/src/org/ibex/plat/Linux.cc create mode 100644 upstream/org.ibex.core/src/org/ibex/plat/Linux.java create mode 100644 upstream/org.ibex.core/src/org/ibex/plat/OpenGL.cc create mode 100644 upstream/org.ibex.core/src/org/ibex/plat/OpenGL.java create mode 100644 upstream/org.ibex.core/src/org/ibex/plat/POSIX.cc create mode 100644 upstream/org.ibex.core/src/org/ibex/plat/POSIX.java create mode 100644 upstream/org.ibex.core/src/org/ibex/plat/PalmOS.java create mode 100644 upstream/org.ibex.core/src/org/ibex/plat/Platform.java create mode 100644 upstream/org.ibex.core/src/org/ibex/plat/Solaris.cc create mode 100644 upstream/org.ibex.core/src/org/ibex/plat/Solaris.java create mode 100644 upstream/org.ibex.core/src/org/ibex/plat/Win32.cc create mode 100644 upstream/org.ibex.core/src/org/ibex/plat/Win32.inf create mode 100644 upstream/org.ibex.core/src/org/ibex/plat/Win32.java create mode 100644 upstream/org.ibex.core/src/org/ibex/plat/X11.cc create mode 100644 upstream/org.ibex.core/src/org/ibex/plat/X11.java create mode 100644 upstream/org.ibex.core/src/org/ibex/util/AccessibleCharArrayWriter.java create mode 100644 upstream/org.ibex.core/src/org/ibex/util/BalancedTree.java create mode 100644 upstream/org.ibex.core/src/org/ibex/util/CAB.java create mode 100644 upstream/org.ibex.core/src/org/ibex/util/Cache.java create mode 100644 upstream/org.ibex.core/src/org/ibex/util/CachedInputStream.java create mode 100644 upstream/org.ibex.core/src/org/ibex/util/Callback.java create mode 100644 upstream/org.ibex.core/src/org/ibex/util/CounterEnumeration.java create mode 100644 upstream/org.ibex.core/src/org/ibex/util/DirtyList.java create mode 100644 upstream/org.ibex.core/src/org/ibex/util/EjAlbertBrowserLauncher.java create mode 100644 upstream/org.ibex.core/src/org/ibex/util/Grammar.java create mode 100644 upstream/org.ibex.core/src/org/ibex/util/Hash.java create mode 100644 upstream/org.ibex.core/src/org/ibex/util/InputStreamToByteArray.java create mode 100644 upstream/org.ibex.core/src/org/ibex/util/KnownLength.java create mode 100644 upstream/org.ibex.core/src/org/ibex/util/LineReader.java create mode 100644 upstream/org.ibex.core/src/org/ibex/util/Log.java create mode 100644 upstream/org.ibex.core/src/org/ibex/util/MSPack.c create mode 100644 upstream/org.ibex.core/src/org/ibex/util/MSPack.java create mode 100644 upstream/org.ibex.core/src/org/ibex/util/NanoGoat.java create mode 100644 upstream/org.ibex.core/src/org/ibex/util/PackBytesIntoString.java create mode 100644 upstream/org.ibex.core/src/org/ibex/util/Preprocessor.java create mode 100644 upstream/org.ibex.core/src/org/ibex/util/Queue.java create mode 100644 upstream/org.ibex.core/src/org/ibex/util/Scheduler.java create mode 100644 upstream/org.ibex.core/src/org/ibex/util/Semaphore.java create mode 100644 upstream/org.ibex.core/src/org/ibex/util/Simplex.java create mode 100644 upstream/org.ibex.core/src/org/ibex/util/Task.java create mode 100644 upstream/org.ibex.core/src/org/ibex/util/Vec.java create mode 100644 upstream/org.ibex.core/src/org/ibex/util/XML.java create mode 100755 upstream/org.ibex.core/upstream/darwin-linker/links.sh create mode 100644 upstream/org.ibex.core/upstream/darwin-linker/patches/cctools.patch create mode 100644 upstream/org.ibex.core/upstream/freetype-2.1.4/patches/freetype.patch create mode 100644 upstream/org.ibex.core/upstream/freetype-2.1.4/patches/ft-nostdio.patch create mode 100644 upstream/org.ibex.core/upstream/gcc-3.3/patches-darwin/darwin-gc.patch create mode 100644 upstream/org.ibex.core/upstream/gcc-3.3/patches/basic_file_io.patch create mode 100644 upstream/org.ibex.core/upstream/gcc-3.3/patches/fixposix.patch create mode 100644 upstream/org.ibex.core/upstream/gcc-3.3/patches/force-locale.patch create mode 100644 upstream/org.ibex.core/upstream/gcc-3.3/patches/gcc-fdata-sections-bss.patch create mode 100644 upstream/org.ibex.core/upstream/gcc-3.3/patches/linux-fix-gc.patch create mode 100644 upstream/org.ibex.core/upstream/gcc-3.3/patches/minimal.patch create mode 100644 upstream/org.ibex.core/upstream/gcc-3.3/patches/mips.patch create mode 100644 upstream/org.ibex.core/upstream/gcc-3.3/patches/nolibstdc++.patch create mode 100644 upstream/org.ibex.core/upstream/gcc-3.3/patches/ranlib.patch create mode 100644 upstream/org.ibex.core/upstream/gcc-3.3/patches/solaris.patch create mode 100644 upstream/org.ibex.core/upstream/gcc-3.3/patches/zzz-inhibit.reflection.patch create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/COPYING create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/COPYING.LIB create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/README create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/TODO create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/docs/api/allclasses-frame.html create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/docs/api/deprecated-list.html create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/docs/api/gnu/regexp/CharIndexed.html create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/docs/api/gnu/regexp/RE.html create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/docs/api/gnu/regexp/REException.html create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/docs/api/gnu/regexp/REFilterInputStream.html create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/docs/api/gnu/regexp/REFilterReader.html create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/docs/api/gnu/regexp/REMatch.html create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/docs/api/gnu/regexp/REMatchEnumeration.html create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/docs/api/gnu/regexp/RESyntax.html create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/docs/api/gnu/regexp/UncheckedRE.html create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/docs/api/gnu/regexp/package-frame.html create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/docs/api/gnu/regexp/package-summary.html create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/docs/api/gnu/regexp/package-tree.html create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/docs/api/gnu/regexp/util/Egrep.html create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/docs/api/gnu/regexp/util/Grep.html create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/docs/api/gnu/regexp/util/REApplet.html create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/docs/api/gnu/regexp/util/RETest.html create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/docs/api/gnu/regexp/util/Tests.html create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/docs/api/gnu/regexp/util/package-frame.html create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/docs/api/gnu/regexp/util/package-summary.html create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/docs/api/gnu/regexp/util/package-tree.html create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/docs/api/help-doc.html create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/docs/api/index-all.html create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/docs/api/index.html create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/docs/api/overview-frame.html create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/docs/api/overview-summary.html create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/docs/api/overview-tree.html create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/docs/api/package-list create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/docs/api/packages.html create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/docs/api/serialized-form.html create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/docs/api/stylesheet.css create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/docs/changes.html create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/docs/credits.html create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/docs/faq.html create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/docs/gnu-regexp-applet.jar create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/docs/index.html create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/docs/reapplet.html create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/docs/syntax.html create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/lib/gnu-regexp-1.1.4.jar create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/src/Makefile create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/src/gnu/regexp/CharIndexed.java create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/src/gnu/regexp/CharIndexedCharArray.java create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/src/gnu/regexp/CharIndexedInputStream.java create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/src/gnu/regexp/CharIndexedReader.java create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/src/gnu/regexp/CharIndexedString.java create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/src/gnu/regexp/CharIndexedStringBuffer.java create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/src/gnu/regexp/MessagesBundle.properties create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/src/gnu/regexp/RE.java create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/src/gnu/regexp/REException.java create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/src/gnu/regexp/REFilterInputStream.java create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/src/gnu/regexp/REFilterReader.java create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/src/gnu/regexp/REMatch.java create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/src/gnu/regexp/REMatchEnumeration.java create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/src/gnu/regexp/RESyntax.java create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/src/gnu/regexp/REToken.java create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/src/gnu/regexp/RETokenAny.java create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/src/gnu/regexp/RETokenBackRef.java create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/src/gnu/regexp/RETokenChar.java create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/src/gnu/regexp/RETokenEnd.java create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/src/gnu/regexp/RETokenEndSub.java create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/src/gnu/regexp/RETokenLookAhead.java create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/src/gnu/regexp/RETokenOneOf.java create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/src/gnu/regexp/RETokenPOSIX.java create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/src/gnu/regexp/RETokenRange.java create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/src/gnu/regexp/RETokenRepeated.java create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/src/gnu/regexp/RETokenStart.java create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/src/gnu/regexp/RETokenWordBoundary.java create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/src/gnu/regexp/UncheckedRE.java create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/src/gnu/regexp/util/Egrep.java create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/src/gnu/regexp/util/Grep.java create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/src/gnu/regexp/util/GrepUsage.txt create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/src/gnu/regexp/util/REApplet.java create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/src/gnu/regexp/util/RETest.java create mode 100644 upstream/org.ibex.core/upstream/gnu.regexp-1.1.4/src/src/gnu/regexp/util/Tests.java create mode 100644 upstream/org.ibex.core/upstream/jode-1.1.1/patches/javadep.patch create mode 100644 upstream/org.ibex.core/upstream/jode-1.1.1/patches/object.has.no.superiface.patch create mode 100644 upstream/org.ibex.core/upstream/libmspack-20030726/patches/libmspack.patch create mode 100644 upstream/org.ibex.core/upstream/newlib-1.11.0/patches/mips.patch create mode 100644 upstream/org.ibex.core/upstream/org.ibex.crypto/Makefile create mode 100644 upstream/org.ibex.core/upstream/org.ibex.crypto/doc/COPYING create mode 100644 upstream/org.ibex.core/upstream/org.ibex.crypto/src/org/ibex/crypto/Base36.java create mode 100644 upstream/org.ibex.core/upstream/org.ibex.crypto/src/org/ibex/crypto/Base64.java create mode 100644 upstream/org.ibex.core/upstream/org.ibex.crypto/src/org/ibex/crypto/DER.java create mode 100644 upstream/org.ibex.core/upstream/org.ibex.crypto/src/org/ibex/crypto/Digest.java create mode 100644 upstream/org.ibex.core/upstream/org.ibex.crypto/src/org/ibex/crypto/HMAC.java create mode 100644 upstream/org.ibex.core/upstream/org.ibex.crypto/src/org/ibex/crypto/MD2.java create mode 100644 upstream/org.ibex.core/upstream/org.ibex.crypto/src/org/ibex/crypto/MD5.java create mode 100644 upstream/org.ibex.core/upstream/org.ibex.crypto/src/org/ibex/crypto/PKCS1.java create mode 100644 upstream/org.ibex.core/upstream/org.ibex.crypto/src/org/ibex/crypto/RC4.java create mode 100644 upstream/org.ibex.core/upstream/org.ibex.crypto/src/org/ibex/crypto/RSA.java create mode 100644 upstream/org.ibex.core/upstream/org.ibex.crypto/src/org/ibex/crypto/SHA1.java create mode 100644 upstream/org.ibex.core/upstream/org.ibex.crypto/src/org/ibex/crypto/X509.java create mode 100644 upstream/org.ibex.core/upstream/org.ibex.crypto/src/org/ibex/net/SSL.java create mode 100644 upstream/org.ibex.core/upstream/org.ibex.crypto/src/org/ibex/net/ssl/GenCompactCAList.java create mode 100644 upstream/org.ibex.core/upstream/org.ibex.crypto/src/org/ibex/net/ssl/RootCerts.java create mode 100644 upstream/org.ibex.core/upstream/org.ibex.crypto/src/org/ibex/net/ssl/SwingVerifyCallback.java create mode 100644 upstream/org.ibex.core/upstream/org.ibex.crypto/src/org/ibex/net/ssl/Test.java create mode 100644 upstream/org.ibex.core/upstream/org.ibex.crypto/src/org/ibex/net/ssl/rootcerts.dat create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/Makefile create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/doc/COPYING create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/doc/ChangeLog create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/doc/IVME.xls create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/doc/IVME04 Submission Report.pdf create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/doc/IVME2.xls create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/doc/acmconf.cls create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/doc/chart1.pdf create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/doc/chart2.pdf create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/doc/chart3.pdf create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/doc/chart4.pdf create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/doc/chart5.pdf create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/doc/chart6.pdf create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/doc/chart7.pdf create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/doc/max_per_method.pdf create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/doc/nestedvm.bib create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/doc/nestedvm.ivme04-fig1.pdf create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/doc/nestedvm.ivme04-fig1.tex create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/doc/nestedvm.ivme04-fig2.pdf create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/doc/nestedvm.ivme04-fig2.tex create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/doc/nestedvm.ivme04-fig3.pdf create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/doc/nestedvm.ivme04-fig3.tex create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/doc/nestedvm.ivme04-fig4.pdf create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/doc/nestedvm.ivme04-fig4.tex create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/doc/nestedvm.ivme04-fig5.pdf create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/doc/nestedvm.ivme04-fig5.tex create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/doc/nestedvm.ivme04-fig6.pdf create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/doc/nestedvm.ivme04-fig6.tex create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/doc/nestedvm.ivme04.aux create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/doc/nestedvm.ivme04.bbl create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/doc/nestedvm.ivme04.blg create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/doc/nestedvm.ivme04.log create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/doc/nestedvm.ivme04.tex create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/doc/pdftricks.sty create mode 100755 upstream/org.ibex.core/upstream/org.ibex.nestedvm/doc/pst2pdf create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/doc/tmp.inputs create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/src/org/xwt/mips/ClassFileCompiler.java create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/src/org/xwt/mips/ClassLoader.java create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/src/org/xwt/mips/Compiler.java create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/src/org/xwt/mips/ELF.java create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/src/org/xwt/mips/Interpreter.java create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/src/org/xwt/mips/JavaSourceCompiler.java create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/src/org/xwt/mips/Registers.java create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/src/org/xwt/mips/Runtime.java create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/src/org/xwt/mips/UnixRuntime.java create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/src/org/xwt/mips/UsermodeConstants.java create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/src/org/xwt/mips/crt0.c create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/src/org/xwt/mips/linker.ld create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/src/org/xwt/mips/support.s create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/src/org/xwt/mips/support_aux.c create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/src/org/xwt/mips/syscalls.h create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/src/org/xwt/mips/util/SeekableByteArray.java create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/src/org/xwt/mips/util/SeekableData.java create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/src/org/xwt/mips/util/SeekableFile.java create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/src/org/xwt/mips/util/SeekableInputStream.java create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/src/tests/CXXTest.cc create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/src/tests/CallTest.java create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/src/tests/Echo.java create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/src/tests/EchoHelper.c create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/src/tests/Env.java create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/src/tests/FDTest.java create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/src/tests/FTBench.c create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/src/tests/Fork.c create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/src/tests/FreeTypeDemo.java create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/src/tests/FreeTypeDemoHelper.c create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/src/tests/Hello.c create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/src/tests/MSPack.java create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/src/tests/MSPackBench.c create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/src/tests/MSPackHelper.c create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/src/tests/Paranoia.c create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/src/tests/Simple.c create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/src/tests/SpeedTest.java create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/src/tests/Test.c create mode 100755 upstream/org.ibex.core/upstream/org.ibex.nestedvm/src/tests/check.sh create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/upstream/Makefile create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/upstream/patches/binutils-no64.patch create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/upstream/patches/boehm-gc.patch create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/upstream/patches/busybox.patch create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/upstream/patches/freetype.patch create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/upstream/patches/ft-nostdio.patch create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/upstream/patches/gcc-fdata-sections-bss.patch create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/upstream/patches/gcc-fixes.patch create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/upstream/patches/libmspack.patch create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/upstream/patches/newlib-malloc.patch create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/upstream/patches/newlib-mips.patch create mode 100644 upstream/org.ibex.core/upstream/org.ibex.nestedvm/upstream/patches/newlib-tzset.patch create mode 100644 upstream/org.ibex.crypto/Makefile create mode 100644 upstream/org.ibex.crypto/doc/COPYING create mode 100644 upstream/org.ibex.crypto/src/org/ibex/crypto/Base36.java create mode 100644 upstream/org.ibex.crypto/src/org/ibex/crypto/Base64.java create mode 100644 upstream/org.ibex.crypto/src/org/ibex/crypto/DER.java create mode 100644 upstream/org.ibex.crypto/src/org/ibex/crypto/Digest.java create mode 100644 upstream/org.ibex.crypto/src/org/ibex/crypto/HMAC.java create mode 100644 upstream/org.ibex.crypto/src/org/ibex/crypto/MD2.java create mode 100644 upstream/org.ibex.crypto/src/org/ibex/crypto/MD5.java create mode 100644 upstream/org.ibex.crypto/src/org/ibex/crypto/PKCS1.java create mode 100644 upstream/org.ibex.crypto/src/org/ibex/crypto/RC4.java create mode 100644 upstream/org.ibex.crypto/src/org/ibex/crypto/RSA.java create mode 100644 upstream/org.ibex.crypto/src/org/ibex/crypto/SHA1.java create mode 100644 upstream/org.ibex.crypto/src/org/ibex/crypto/X509.java create mode 100644 upstream/org.ibex.crypto/src/org/ibex/net/SSL.java create mode 100644 upstream/org.ibex.crypto/src/org/ibex/net/ssl/GenCompactCAList.java create mode 100644 upstream/org.ibex.crypto/src/org/ibex/net/ssl/RootCerts.java create mode 100644 upstream/org.ibex.crypto/src/org/ibex/net/ssl/SwingVerifyCallback.java create mode 100644 upstream/org.ibex.crypto/src/org/ibex/net/ssl/Test.java create mode 100644 upstream/org.ibex.crypto/src/org/ibex/net/ssl/rootcerts.dat diff --git a/mail.jar b/mail.jar new file mode 100644 index 0000000000000000000000000000000000000000..e5ad502d8e602047b2b69831684d3c5861120ca7 GIT binary patch literal 42870 zcmcG$1yr0_wl<8rySr=QPJ+9;Q$XQv!QI{6T?0V^!Gb#k4J1gg1PiXg@>jakGu`Q# zE8jnt#R1l;^8(wSXP_ zS-~&=SU7*)rX;2;CoQF+$)+T&1a!2q1i87hYJ*(eY@8egDLB{wND{6fpgYKdRoq*U z0>CD~$!cY8j)Vm9&tK2M{MY{i3jFKY{`BX6eH{k;x|6Hbf3f3-96xs0n1Q_hv`w+* zuYU;b&)Xb;HunG6i}0Ij63)UzFTs24AR!=V|F%~NL9Y7Xr=Jr50 zH~%Chg@NZ75ufDj%*7PpBP+T zdofT=_Y2=oFR@*GyLy7$fD+=+kD{i*^a(qi)15cOgd5qWe=N}|c6eD4&&5k#AdK;` z)OI-Rcv-h6HG?6(s%!-VghhOzyV)+1m&7SjS33aD;SKtqntY&hOAPjW0-*n}hAtZ!+!$+qJ2U+~Ey!=K$8r-SN^KJtx3EP8?cA;K&^r}fi_Z+B0(FwU_75u_G~*VrUjTfW-5{J#Q4IW?xZd*vO@_^=3H7!C(=b4)ZMT zV zrU&P}^!l7j+n7%=VrHu+plZae;|;#a3;Tgp1;8zgc|dyKiSDkX%~DfalXgL0>MZFr z28#?HDK&l}Wnz?DlXP*QV!s>QNkn~Rbj4&YU0bD_PjN3YicxGvH$I=|tys8w3YLnXO3dz)^cyzO4R=~o;WdUXbiz2=}(Td1K=Is&+M!X%a z&s31Zd-3AU)XYf~fXCcIbKbQ*XA%8PO|6+s`mR?&?sQm(GEAb47DzO7M*C^ zA%LNBpMAvNoNtxkhzXQk<(UC?^av86nkJp{PNi^Xj-uI0&;pKNJoM|rd>qX`=JQ99}$e> zU*?ri^0>zgFCgZK_n8|e&icm9AUZxQz$A0GKYU?&$f)sik}_;Fn8S!!_y3OvN$JAYWrI%~aHtrMK#S z#O-8mbi@Cc$4yyI8%#!7nOlGexjBq_8OGf`CuB2!ZT0=q>3c=KUVU#OhWFj=?Bukc zTOe2SVcRpWZQ&rE+sZICLa1;{dvUc0NUks}?ECCSi&Z3p5b9Dw-sTAuGywmoX zc?M;?!(g293X^>ztCx?ki)zyVt7l44{#FR9hk0hT6wkFnYoQ5BejLDETU+$;wIwnP z94k+$+-*VcB;-g-i+!Ty%0UzzMQwP$r_z)y-dK3&O*Q<2q!^Dh7IZ>6F?BwadXJ}Y zgO8!-rMOwA?Jg;g(Tr?=A#d|`SW}GzoyS%aWJnFKbX`iM_a&n8&HfATJoVRxEQpe3ixO*! zm+ATHABt;iZC|;4&Zn6JSymf1cX~)1vf|I@@QgyHW|GTg&tqu@7R<&?oHDL zzg|xFGI~+>@nk*0&gCgex=oq(lQhq$?^s!ttD8A9@tVE0dBsMyW6Uc^?_L%ILWkUG zAVWd$VjW{+l^T^q#<6uq2+Fa#Gx2LVFRea1ex*zv4eg|UUf2fecTnCj4WbdOpA8ch z?`KL)>5)&&W)dM`Ls5=<^N}J>8DR%lnuwvH+=y0dLR8E;LrB|=#P}4hOJw>9VXcy} zgTi7$+_E%Jp}UGrk)COu(oHM07j4MgzUoaG_6InWXnS{A>l3TR?}@FA$t+suq!7ld zW42CL0j0a;Hr-X2ZxI8=(E=+rc1Ic8qZE+V``KYKwBV-~V=a}Y=#1!dI8bF4QTt)% zWu;#xav6rSz4QFGv3xNOVQg7E9uM~1!Jvo#(KQEslbeP z&)|zWveh<qR8haCJB<`igv>N9t{s;~7$J&#LfS$+}f%9NM@%RUO!5vR(}|Z|_dt}{pf$A{1&-sQaIuW2!bserAGGiW%tT0!uEyxR4O_ zHsp0N+H|QyRP>>;spp`|7;CoVB@AziN&h6H;WLt+O_B`bBE{V{-{3dza9L_MN?)cU zW#}}TS&QFNJ!M$Ha(rTB0cxp;cBO>brr5`=dZpkF`o2_s>XxL3PVW88U?~Mv*2YAb zb$jyG&XIj<>>42Ap7-1tDsp9@c5Qc4>njyUIM0AfM{VmE1!IeG$WEcNgrmsGr+d2h zG_(Odvar+(ILSGyrE;qTiL!<>T#KK)19`DXvNmcP-U)Oi%p+>f%fYQ;)9IjSF^in_ zoq55N=1Zkk=3REur!CW>d3z6@khW|02kWD*)Zj6Ec(I*_l8s=z&pe)DnsFyniZ%hn zlLo+hvxFt^ejPw17(&9CNuct`3%&x(Mn7_+<4q+ft$m%rNs~K=a6vbVdrB}Rp?Bf) zpIwzO;kwy0X(#{Q2Tc_PFGY+NO@J2L>Lt4x5-EjGhS}|@`7`si5VXPEt2wXTW+A7 zAod+6{FKFV8z+9x4QKL#yNEq$C$`1ixMb*@Ge1#Ptag*tBNWKc zSg?+)B>mUY97j+3w_|IdLW&o52u_sMZ2bna56}L93=j~%^2Q&u^&hP8H@fHM?&J#k zh4dvcW~$qPDW)lyBGdhwCw@{tjUSKyjyKY^9dxi|Z~~;EI`#1TPR)>`AkA|jXsth$ zsTxF^s?o@ou+F__8^gd$&2R4%+sl1KeZ+p$zslQ4c00Ivsw!Cj5M~i7C-=<4((~A@ z(05n#h3Cc1vxe_bfY49eESnV}4LB@zd%dgztM35`21wdCtFuMpQ!aJ#7V4twS}rQn zc0@R3nq^w6I%m&^mY8}F%}CM9JtT(On0n?`_XJChs(tZh~r^Wq%vjGD^l###^g@X70GQ*9z<#uHxI z4PHc~$5tAyw79zMY}}EE>SB7bIXa$qd-VY>Tt;wt6F+SxnD2PWi%K3m?Dz>#Z%dCd zQsq<4F>VP+>GN~sU4b^sm4y2idOkb4ElmO@TgLWl#g@8kvX6Np60E;MN>ETX)*j71!`Zo z+;d_snYKD#EU{%&YvM9|pSy6OW1)Y?=v7CZ2pe(Ak)yTA7M+q_j~fqcLDRz}+k^X5 z6J&3&EVz|5s|F$Fd!YJm7~my*5kB`GkDflbB!Rvt9Xf>?YZ~b|jCC_2U;Pz>J)hzf z?)6~ea6jy^V{BalR+m>N3VyDTtcx8O#eHGGdbGe8JBDtRota;R7ozsa&*)HI5m)^r zy!a~8-+P?AI^7esMvia)nb82_t=!1FTd9%zsDmhA2=F}6&?Z9EWHHfV{*2jDc0DzU zz~^v%Y>KpivOgMo;GWHuwu5nNVocv1_ML1o@5ioUP}jPd>g%v>Tbxn6w6#2dJX(F_ zLncMHLu}>w=* zRc^;qS!`8AO23_PX;ip^ZbCHxS}D9tWu3rZC>SEb;&6_Mp)=DGH#G~&KL_H(reiaD z3?D8&bKfS;Qrc~I5VE6SK4cRqo=Dl-9KvL7I`THEfYvX=vkdeVWBiVC;R+gtetc$} z-zb9YprSaA3x3aAqx9hXHuCgUCZoU1-VNhR?d^9yzO0D823TnG{ITyoP8`}RPKfoXRP z!B0Uxxe2%d$`2atk=(dtDN_uO#nA2t^Tth=$qq?%kL`(&cLpyKntH^pHFO7Q8%zY9 zlc&jw3&@JUiRA18x7=X9!~T)r5Fm!Z{j4v+F`w(fY3d5R82$(8iiYF&gcTmAgwzkf z2>*1ubQkFZjkzTKjsl5oP)a4~eR0JgOb&w&4?bD1M6}IXyBpa>#Eogs()}4s;~+qs zq*!H-_FCPtODhL4RYZv1O}UHJTWz$K#yz$3jQ*O5I*yla{yk&r$%n$P9Q{FnW)Pd^ zIG;;~JhIMXjLD3j6a=u5D`KKGWBL_!9CO#q+|E`KUY>XVB{|}Jug!)KD|aYgzr)fS zjTdUC#@#rY<+s1|mmGyL%W%LMS{h6RIsPXigS#k>Zsx8w&Ociy;aUbx#8NmvZvM#f}Uu8!gjQj`BXu62Tp)9D~Yz#Y3Opw~Dy%ULALI+Q|kYhQQO5$z!UU$Qlp> z5owa1Z{@!z@Dh7~9n5}}+hOyuXEN`D+x_&5>B*?;5OU)px zhFq2Vym7@?qG(Ag*a<0FnY={8keR6XYd27FL;I;h_`=WYG1wv)^?Ab-s187wu5v>w zx@eU2XeS8GFQgvQG0u^Ym=a92hH$$oxBPK%>loXIH=Op?;UwHa8s8077CmY+n0yj| zi<~IM9mhU)5o3f@;*%ehCbrR_Cpcj6Q72B>0CBVhm-!v?$<3bW!jal2vG_Tb*+O|azKgnlzsHuE@b9lg0kX>R?JS5+pIh~2o zw^*{~&g3_S0U7CAA@$DFOFd{dsaH6ZE|}0$e%Zzg*QGdXPPN}7;;g%oop)*JP3b1J zU)?6QA5+;ogzT1!+l)*mBFoZg_I)ywCQ^+Xg8nwAcb_l538?iKaohXA7-w0xLyD_Q zha>44E9Y8%^x)AHOR}nZUslD#XsgtL+&-ftc6bnIm(BR#=&yz!@HR7R>=E&5@y==|UUfzdEG9^6SA(`TXgtgWE zz34MbtdJfNYGx;jOd)(tJ)3pF2mnUPQFyH6dBwl`;Nyw_<1a3VmWbM!{M-p)~fr{-h2Jv5OfMTUHb@ z-BwEUt%d;UF*3~<&S-}V0bSuhpG0J+Z#@It+r@>$;{xIi{q-GOcIv1C*_{Hh1oiE8 z+;99SHxIrNv`#n6J(=khjUTy*QC`WgJ#sM^$=u8XV3<5sK3}?%mcpZ+&dy8WXV7TH z^{m=#l}AJyDBjr!(qd8|5)?XydH_^&3f??H^zc5g!o2iXA0eQE57XFQDt${WSfyh$V5z8Q#O&dee$zXo&hG ze0pGi*m_H`{vm=Jb<<_~IRC>Nx08qClj+s`w@>%xM7@HB=`(RrQObOIdno{Pq4s4) zv&<+mL@Fvn;lqB%^=omkM5JzEWS^QfnXCNH*AT@!@DtsOW-$Q3gY_ zDAb#D^P#Krlx!(%Ws+4`84{^U!@%`Z9X=tZjF$rP5->8VluBAMF2>7P9GVYl z0~YbhOD%+)J(~YZf34rzl4RF$e^wak>H#X`b&DAq@~JzCW&%TTS;?@(T1A2Cc0E*H zE|zWoDofFLU~NYLA7Psf2VGGKb#c?QqHWN=$oTUV>9Tt2P!%b11N z^9|8Z*CSC&YNjx!UZ+vSqef&M+#U0RNpzKpjcYr79n`xvdgjv18q*hr`9dwwg>lw^ zQ$j*9^9*ermm5h@cHo9j-{m>Z{)0y|#l%2g859wAN7&1O#>y^OP^Q?Fw< z?-1_~d0%m}Gnj%Fp{=!E#t17BJeljRohxIyg z0JNqvoe&U>sM1d=$o|5rz6-$sljtjqj z*lg~vX7YU>ovBNgUXdznr*3G@qA_Bs&ShPrU{#Z1CZeB>dwXn2eF5cMQ+2Y_-F@E37(Y$r~)$19=T^mL&@ds^CWQEIGsN z(BLJ0aN<^8F<&afvns9sDEID?CPPz*+ME|S$rksCf1O{9zkBejwC0y>n_<6{qpDtB zmj3xN|A=AFxws=7HF!lyXPkWg2)4V#qh7=uH>9<+VqW3&-7}|gxWqdPirDfYppPx% z^af20pTXgG0|nWfqrBWV_9p#JEVj1IUcDN=scycp=13EziwPv!E&Rka`FdV&boGwf zOGC9_;q~f{>zhm%%Ge;HcgUcKY1{pAY@fZK$!|mU-M1r0Gks>{iat{>o}Id0k8`eA zw7XfMM&Tj^!{df2Nz{CrFE)g8P_kf@I`HvO<22Pqq#M$QxFlX+WR({kM! zn-WlB;X)M+-Gu$aBHezQhEU>pPy9!a#b)K9pU~=i@2?e}q{hR{&fn4hTAQe4u+_}Vnb4TjYji13YrrfX+R&1`D5k%MF-LfU(zsXLlG#mk3M32$$@Y{gK zzHih3W3J>GsqDb>-psj6KY?)eh?*#t zHXZ8>Z75X_-r0;&Hf;JU+ARn7IUl!YPvmzwZyT(aY)VXeRPDr-Fq0rgv5~SY0r@mMd)3 zy~F542=&u;qy$k{Tg!~|8Ef`gO+cMq=16QWb7k+@3sr&7B!^X^UpjCu$CDc(w9T5D zsim(4Bnly%s zmJ`Y~1~?|WUZH=Y$P}?(>7V2r?1&FRQ!B+8V_QZGBg!WlB-Tv3maVO(r^)T(#T27Y z^)RN&iKNc&8y!5+j~CHfX;G(je*Bg(;L$Xz9|<||TyHtgXTUW@D9<*SwpxRFELDW+ zs_APC))cjP%f6~KX(p53D`ZCcV#Z(v?nR!vFPB9oo&-lBuER4Qk?A6F*ZiJW-k;8+ zMJX=!R+MymT$UZ~DaqKKE;=7T_czi4FuhfCkd`V8B(o5h+Fv4>;V_2y{ z{w=3SR&l!8GK@*C+!AZT$eTy|N^t~>f+y*Y392Ujc#|yL+sA!rjC6 zBs3#?vpd8SO-wW+D&eW4&u}f!T?PZV>hyl-l{M{5XWvG@3;Vke-_k`yR(5kJC^1ep+7K}+Pck0-ZQGp%9 zpTPlaAkOa9k@)siB^>FoAkG|fbhxWS$@z|5Fnd%oe)(A4CfyK|EeBa^P3DZ|L3OY9 zgkE~T$lqP2QE)cvKC?r9V&#K7!_;#Wi2#@T*~z$_R{7`~JC7V6uhD@s)j{4(XR#4! zl`!<=>~RkChs>2_%CA-vPl%rQ1lToGUma?)nMh7iSw!KB^QNcwpuoM7h!K}?JyL;} z&@uJfe5!{#q;HnIXPHKzsGZ-@(hifnZ=BRM7lYJVe#o`Nm5%j>o&F{Lqn-DD69cPV z5v+E~zombrKTp^E?DVK9sX%dH_zx^~1Qk&PP|^{_gU?Tlwqa>0A(aNbPQ+<>%I)v~ zx6Q)IUZ?Q4rEwZ&7{aFLC#_s3Q!VrF8g9@btQcr9CHne1LQ&y!(Ox4|-yL05u@=HJ z0m9tZ2ne-X_ijL+`gkeb=v%$CDtu|ZLRN6@I1qfV+XrZK#BH7tEJo;KW8sfi z_0dx5iv~~()`-bqHKBrbrW$uAPK|GKsKZ^i<+>15kms-TLz4{h3?!OxQ3hVuF*1*T zn47=P*Owq7v|!yq7^3*nX`3YH5?Kz%#u5O{z0@vRsjc_@1z zx)1Vq#NVwzY|o43?2zTG%$lE^aDEH)jS?gCE0if2D?h(Larx%0DKZ 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%0AquDiY9}H}#;{u-ow~ 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 yehPT`8|jym 126) + throw new Malformed("Header key contains invalid character \"" + s.charAt(i) + "\""); String val = s.substring(0, s.indexOf(':') + 1); while(Character.isSpace(val.charAt(0))) val = val.substring(1); @@ -167,4 +167,18 @@ public class Message extends JSReflection { } private static final Random random = new Random(); + + public String summary() { + return + " Subject: " + m.subject + "\n" + + " EnvelopeFrom: " + m.envelopeFrom + "\n" + + " EnvelopeTo: " + m.envelopeTo + "\n" + + " MessageId: " + m.messageid; + } + + public Message bounce(String reason) { + // use null-sender for error messages (don't send errors to the null addr) + // FIXME + return null; + } } diff --git a/src/org/ibex/mail/target/Target.java b/src/org/ibex/mail/Target.java similarity index 82% rename from src/org/ibex/mail/target/Target.java rename to src/org/ibex/mail/Target.java index b4425a9..0fea645 100644 --- a/src/org/ibex/mail/target/Target.java +++ b/src/org/ibex/mail/Target.java @@ -1,5 +1,4 @@ -package org.ibex.mail.target; -import org.ibex.mail.*; +package org.ibex.mail; import java.io.*; import org.ibex.js.*; diff --git a/src/org/ibex/mail/protocol/Incoming.java b/src/org/ibex/mail/protocol/Incoming.java index d46a75e..2fb68eb 100644 --- a/src/org/ibex/mail/protocol/Incoming.java +++ b/src/org/ibex/mail/protocol/Incoming.java @@ -1,12 +1,11 @@ package org.ibex.mail.protocol; import org.ibex.mail.*; -import org.ibex.mail.store.*; import org.ibex.mail.target.*; import java.io.*; public class Incoming { protected void accept(Message m) throws IOException, MailException { - MessageStore.transcript.add(m); // currently, we write all inbound messages to the transcript + FileSystem.transcript.add(m); // currently, we write all inbound messages to the transcript Target.root.accept(m); } } diff --git a/src/org/ibex/mail/protocol/SMTP.java b/src/org/ibex/mail/protocol/SMTP.java index ff1a5d7..f996c09 100644 --- a/src/org/ibex/mail/protocol/SMTP.java +++ b/src/org/ibex/mail/protocol/SMTP.java @@ -1,15 +1,17 @@ package org.ibex.mail.protocol; import org.ibex.mail.*; -import org.ibex.mail.store.*; import org.ibex.mail.target.*; import org.ibex.util.*; import java.net.*; import java.io.*; import java.util.*; import java.text.*; +import javax.naming.*; +import javax.naming.directory.*; public class SMTP extends MessageProtocol { + static { new Thread() { public void run() { Outgoing.runq(); } }.start(); } public static String convdir = null; public static void main(String[] s) throws Exception { String logto = System.getProperty("ibex.mail.root", File.separatorChar + "var" + File.separatorChar + "org.ibex.mail"); @@ -34,29 +36,92 @@ public class SMTP extends MessageProtocol { public void handle(Socket s) { new Listener(s, "megacz.com").handleRequest(); } + // FEATURE: exponential backoff on retry time? public static class Outgoing { - // recommended retry interval is 30 minutes - // give up after 4-5 days - // should keep per-host success/failure so we don't retry on every message - // exponential backoff on retry time? - // check DNS resolvability as soon as domain is provided - // only use implicit A-record if there are no MX-records - // use null-sender for error messages (don't send errors to the null addr) - // to prevent mail loops, drop messages with >100 Recieved headers - private final org.ibex.util.Queue queue = new org.ibex.util.Queue(100); - public static void send(Message m) { } - public static void enqueue(Message m) { } - public static void bounce(Message m, String reason) { } - private void runq() { - /* - MessageStore store = MessageStore.root.slash("smtp").slash("outgoing"); + private static final HashSet deadHosts = new HashSet(); + private static final org.ibex.util.Queue queue = new org.ibex.util.Queue(100); + private static FileSystem store = FileSystem.root.slash("outgoing"); + + public static void send(Message m) { + if (m.traces.length >= 100) { + Log.warn("Message with " + m.traces.length + " trace hops; silently dropping\n" + m.summary()); + return; + } + synchronized(Outgoing.class) { + store.add(m); + queue.append(m); + Outgoing.class.notify(); + } + } + + private static boolean attempt(Message m) { + InetAddress[] mx = getMailExchangerIPs(m.envelopeTo.host); + if (mx.length == 0) { + Log.warn("could not resolve " + m.envelopeTo.host + "; bouncing it\n" + m.summary()); + send(m.bounce("could not resolve " + m.envelopeTo.host)); + return true; + } + if (new Date().getTime() - m.arrival.getTime() > 1000 * 60 * 60 * 24 * 5) { + Log.warn("could not send message after 5 days; bouncing it\n" + m.summary()); + send(m.bounce("could not send for 5 days")); + return true; + } + for(int i=0; i + - Original Architect + - Ibex Engine + - Most of the widget set + +[david] David Crawshaw + - Widget Czar + - Fixes to slider.ibex + +[corey] Corey Jewett + - Patch to make build.xml not depend on task + +[ejones] Evan Jones + - Google demo + - Dynamic Trees + diff --git a/upstream/org.ibex.core/CHANGES b/upstream/org.ibex.core/CHANGES new file mode 100644 index 0000000..c40c796 --- /dev/null +++ b/upstream/org.ibex.core/CHANGES @@ -0,0 +1,1066 @@ + +== 2002 ================================================================= + +10-Apr megacz Box.java, Surface.java: fixed rendering glitch caused by + lastDirtiedTimeStamp hack. + +10-Apr megacz org/xwt/html/p.xwt: Improved flow performance. + +10-Apr megacz org/xwt/Box.java: fixed a bug that prevented regions from being + dirtied properly when boxes are removed from the tree and then + re-added. + +10-Apr megacz org/xwt/Box.java, org/xwt/SpecialBoxProperties.java: + hshrink/vshrink are no longer implemented by + manipulating dmax; the prerender pass understands them + natively. + +11-Apr megacz org/xwt/server/HTTP.java: fixed some CDATA misbehaviors. + +11-Apr megacz org/xwt/html/p.xwt, org/xwt/html/test.xwt: improved HTML + rendering; we can now render pretty much any

tag + +13-Apr megacz README: updated to note that build process requires + libgcj.jar even for jvm builds. + +21-Apr megacz src/org/xwt/plat/GCJ.xml: removed -fno-rtti + +21-Apr megacz src/org/xwt/Surface.java: workaround for GCJ PR java/6393 + +22-Apr megacz src/org/xwt/plat/Java2.java: fixed bug that caused + RasterFormatException on jdk1.4 + +22-Apr megacz README: included instructions on how to build without gcc. + +26-Apr megacz src/org/xwt/Main.java: included text description on splash screen + +26-Apr megacz src/org/xwt/plat/Win32.xml, src/org/xwt/plat/Java2.xml: + adjusted dist / signature process. + +26-Apr megacz README: included printStackTrace() patch + +26-Apr megacz src/org/xwt/XWT.java: fixed bug 53 + +26-Apr megacz src/org/xwt/TinySSL.java: fixed PKCS1 bug + +26-Apr megacz build.xml: staging/production push process + +26-Apr megacz src/org/xwt/tasks/BashTask.java: now checks exit codes + +26-Apr megacz src/org/xwt/tasks/BashTask.java: added ssh support + +27-Apr megacz README: added file locking patch + +27-Apr megacz [lots of files]: introduced notion of buildid's, to make + XWT upgrades work more smoothly, and to prevent problems + with browser/plugin caches. + +27-Apr megacz JSObject.java: added extra debugging info + +27-Apr megacz XWT.java, Platform.java, Main.java, Java2.java, + Win32.java, Win32.cc, faq.html: added support for + xwt.newBrowserWindow() + +27-Apr megacz Surface.java, Box.java: nuked dirtiedTimeStamp + altogether; it caused more problems than it solved. + +27-Apr megacz reference.html: Changed capitalization of + faultstring/faultcode for xwt.soap() to match SOAP spec. + +27-Apr megacz XWT.java, Box.java: fixed ConversionError bug + +27-Apr megacz Platform.java: added a 3-pixel minimum for a font's + descent -- ensures that we have space for underlining. + +28-Apr megacz Template.java: fixed a bug where would + misbehave if used on a scriptless