<html>
    <head>
        <meta name="viewport" content="width=device-width" />
        <base href="http://wiki.javaforum.hu" />
        <style type="text/css">
    body, #email-content, #email-content-inner { font-family: Arial,FreeSans,Helvetica,sans-serif; }
    body, p, blockquote, pre, code, td, th, li, dt, dd { font-size: 13px; }
    small { font-size: 11px; }

    body { width:100% !important; -webkit-font-smoothing: antialiased; }

    body,
    #email-wrapper { background-color: #f0f0f0; }
    #email-wrapper-inner { padding: 20px; text-align: center; }
    #email-content-inner { background-color: #fff; border: 1px solid #bbb; color: $menuTxtColour; padding:20px; text-align:left; }
    #email-wrapper-inner > table { width: 100%; }
    #email-wrapper-inner.thin > table { margin: 0 auto; width: 50%; }
    #email-footer { padding: 0 16px 32px 16px; margin: 0; }

    .email-indent { margin: 8px 0 16px 0; }
    .email-comment { margin: 0 0 0 56px; }

    #email-title-avatar { text-align: left; vertical-align: top; width: 56px; }
    #email-title-flavor { margin: 0; padding: 0 0 4px 0; }
    #email-title-heading { font-size: 16px; line-height: 20px; min-height: 20px; margin: 0; padding: 0; }
    #email-title .icon { border: 0; padding: 0 2px 0 0; text-align: left; }

    #email-actions { border-top: 1px solid #bbb; color: #505050; margin: 8px 0 0 0; padding: 0; }
    #email-actions td { padding-top: 8px; }
    #email-actions .left { max-width: 45%; text-align: left; }
    #email-actions .right { text-align: right; }
    .email-reply-divider { border-top: 1px solid #bbb; color: #505050; margin: 32px 0 8px 0; padding: 8px 0; }
    .email-section-title { border-bottom: 1px solid #bbb; margin: 8px 0; padding: 8px 0 0 0; }

    .email-metadata { color: #505050; }

    a { color: #326ca6; text-decoration: none; }
    a:hover { color: #336ca6; text-decoration: underline; }
    a:active {color: #326ca6; }

    a.email-footer-link { color: #505050; font-size: 11px; }

    .email-item-list { list-style: none; margin: 4px 0; padding-left: 0; }
    .email-item-list li { list-style: none; margin: 0; padding: 4px 0; }
    .email-list-divider { color: #505050; padding: 0 0.35em; }

    .avatar { -ms-interpolation-mode: bicubic; }
    .avatar-link { margin: 2px; }

    .tableview th { border-bottom: 1px solid #69C; font-weight: bold; text-align: left; }
    .tableview td { border-bottom: 1px solid #bbbbbb; text-align: left; padding: 4px 16px 4px 0; }

    .aui-message {  margin: 1em 0; padding: 8px; }
    .aui-message.info { background-color: #e0f0ff; border: 1px solid #9eb6d4; }
    .aui-message.success { background-color: #ddfade; border: 1px solid #93c49f; }
    .aui-message.error,
    .aui-message.removed { background-color: #ffe7e7; border: 1px solid #df9898; color: #000; }

    .call-to-action-table { margin: 10px 1px 1px 1px;}
    .call-to-action-container { text-align: right; padding: 5px 20px; border: 1px solid #326396;  background-color: #6495C7; border-radius: 3px;}
    .call-to-action-container a.call-to-action-button { background-color: #6495C7; font-size: 15pt; line-height: 1; padding: 0; margin: 0; color: #fff; }

            @media handheld, only screen and (max-device-width: 480px) {
        div, a, p, td, th, li, dt, dd { -webkit-text-size-adjust: auto; }
        small, small a { -webkit-text-size-adjust: 90%; }

        td[id=email-wrapper-inner] { padding: 2px !important; }
        td[id=email-content-inner] { padding: 8px !important; }
        td[id="email-wrapper-inner"][class="thin"] > table { text-align: left !important; width: 100% !important; }
        td[id=email-footer] { padding: 8px 12px !important; }
        div[class=email-indent] { margin: 8px 0px !important; }
        div[class=email-comment] { margin: 0 !important; }

        p[id=email-title-flavor] a { display: block; } /* puts the username and the action on separate lines */
        p[id=email-permalink] { padding: 4px 0 0 0 !important; }

        table[id=email-actions] td { padding-top: 0 !important; }
        table[id=email-actions] td.right { text-align: right !important; }
        table[id=email-actions] .email-list-item { display: block; margin: 1em 0 !important; word-wrap: normal !important; }
        span[class=email-list-divider] { display: none; }
    }

        </style>
    </head>
    <body bgcolor="#f0f0f0" topmargin="0" leftmargin="0" marginheight="0" marginwidth="0" style="font-family: Arial, FreeSans, Helvetica, sans-serif; font-size: 13px; width: 100%; -webkit-font-smoothing: antialiased; background-color: #f0f0f0">
        <table id="email-wrapper" width="100%" cellspacing="0" cellpadding="0" border="0" style="background-color: #f0f0f0">
            <tbody>
                <tr valign="middle">
                    <td id="email-wrapper-inner" style="font-size: 13px; padding: 20px; text-align: center">
                        <table id="email-content" cellspacing="0" cellpadding="0" border="0" style="font-family: Arial, FreeSans, Helvetica, sans-serif; width: 100%">
                            <tbody>
                                <tr valign="top">
                                    <td id="email-content-inner" align="left" style="font-family: Arial, FreeSans, Helvetica, sans-serif; font-size: 13px; background-color: #fff; border: 1px solid #bbb; padding: 20px; text-align: left">
                                        <table id="email-title" cellpadding="0" cellspacing="0" border="0" width="100%">
                                            <tbody>
                                                <tr>
                                                    <td id="email-title-avatar" rowspan="2" style="font-size: 13px; text-align: left; vertical-align: top; width: 56px"> <img class="avatar" src="cid:avatar_d7177d5506ab05ef431ea35647b597a3" border="0" height="48" width="48" style="-ms-interpolation-mode: bicubic" /> </td>
                                                    <td valign="top" style="font-size: 13px">
                                                        <div id="email-title-flavor" class="email-metadata" style="margin: 0; padding: 0 0 4px 0; color: #505050">
                                                            <a href="http://wiki.javaforum.hu/display/~auth.gabor" style="color:#326ca6;text-decoration:none;; color: #326ca6; text-decoration: none">Auth G&aacute;bor</a> wrote a blog post:
                                                        </div> </td>
                                                </tr>
                                                <tr>
                                                    <td valign="top" style="font-size: 13px"> <h2 id="email-title-heading" style="font-size: 16px; line-height: 20px; min-height: 20px; margin: 0; padding: 0"> <a href="http://wiki.javaforum.hu/pages/viewpage.action?pageId=28442766" style="color: #326ca6; text-decoration: none"> <img class="icon" src="cid:blogpost-icon" alt="" style="border: 0; padding: 0 2px 0 0; text-align: left" /> <strong style="font-size:16px;line-height:20px;vertical-align:top;">Java 7 sebezhetős&eacute;g</strong> </a> </h2> </td>
                                                </tr>
                                            </tbody>
                                        </table>
                                        <div class="email-indent" style="margin: 8px 0 16px 0">
                                            <div class="email-page">
                                                <p style="font-size: 13px">A napokban a <a href="http://blog.fireeye.com/research/2012/08/zero-day-season-is-not-over-yet.html" class="external-link" rel="nofollow" style="color: #326ca6; text-decoration: none">blog.fireeye.com</a> oldalon siker&uuml;lt egy Java 7 sebezhetős&eacute;get tal&aacute;lni, amelyet kihaszn&aacute;lva egy Java applet k&eacute;pes kit&ouml;rni a <em>sandbox</em> k&ouml;rnyezet&eacute;ből. A hiba legv&eacute;g&eacute;n a Java 7 platformban megjelent <a href="http://hg.openjdk.java.net/jdk7/build/jdk/file/9b8c96f96a0f/src/share/classes/com/sun/beans/finder/ClassFinder.java" class="external-link" rel="nofollow" style="color: #326ca6; text-decoration: none">ClassFinder</a> oszt&aacute;ly <em>resolveClass</em> met&oacute;dus&aacute;t tal&aacute;ljuk, amely a sandbox elő&iacute;r&aacute;sokat megker&uuml;lve k&eacute;pes bet&ouml;lteni b&aacute;rmilyen oszt&aacute;lyt:</p>
                                                <div class="code panel" style="border-width: 1px;">
                                                    <div class="codeHeader panelHeader" style="border-bottom-width: 1px;">
                                                        <b>ClassFinder.java</b>
                                                    </div>
                                                    <div class="codeContent panelContent">
                                                        <pre class="first-line: 164; theme: Default; brush: java; gutter: true" style="font-size:12px;; font-size: 13px">public static Class&lt;?&gt; resolveClass(String name, ClassLoader loader) throws ClassNotFoundException {
    Class&lt;?&gt; type = PrimitiveTypeMap.getType(name);
    return (type == null)
            ? findClass(name, loader)
            : type;
}</pre>
                                                    </div>
                                                </div>
                                                <p style="font-size: 13px">A megh&iacute;vott <em>findClass</em> met&oacute;dus pedig megkeresi &eacute;s visszaadja az adott oszt&aacute;lyt:</p>
                                                <div class="code panel" style="border-width: 1px;">
                                                    <div class="codeHeader panelHeader" style="border-bottom-width: 1px;">
                                                        <b>ClassFinder.java</b>
                                                    </div>
                                                    <div class="codeContent panelContent">
                                                        <pre class="first-line: 56; theme: Default; brush: java; gutter: true" style="font-size:12px;; font-size: 13px">public static Class&lt;?&gt; findClass(String name) throws ClassNotFoundException {
    try {
        ClassLoader loader = Thread.currentThread().getContextClassLoader();
        if (loader == null) {
            // can be null in IE (see 6204697)
            loader = ClassLoader.getSystemClassLoader();
        }
        if (loader != null) {
            return Class.forName(name, false, loader);
        }

    } catch (ClassNotFoundException exception) {
        // use current class loader instead
    } catch (SecurityException exception) {
        // use current class loader instead
    }
    return Class.forName(name);
}</pre>
                                                    </div>
                                                </div>
                                                <p style="font-size: 13px">Mivel az &aacute;tadott <em>ClassLoader</em> p&eacute;ld&aacute;ny &eacute;rt&eacute;ke lehet <em>null</em>, ez&eacute;rt ebben az esetben lek&eacute;rdez&eacute;sre ker&uuml;l a <em>SystemClassLoader</em>, amely vissza fogja adni a k&eacute;rt oszt&aacute;lyt. A hiba kihaszn&aacute;l&aacute;s&aacute;ban sokat nem sz&aacute;m&iacute;t, de az itt l&aacute;that&oacute; k&oacute;d igen &quot;sz&eacute;p&quot;:</p>
                                                <ul>
                                                    <li style="font-size: 13px">a&nbsp;<em>catch</em> &aacute;gakban el van nyelve a kapott <em>ClassNotFoundException</em> vagy <em>SecurityException</em></li>
                                                    <li style="font-size: 13px">majd ezen hib&aacute;k eset&eacute;n a met&oacute;dus v&eacute;g&eacute;n a <em>Class.forName</em> megh&iacute;v&aacute;sra ker&uuml;l</li>
                                                </ul>
                                                <p style="font-size: 13px">Ezt a ClassFinder oszt&aacute;lyt nem tudja egy sandbox-ban fut&oacute; applet megh&iacute;vni, mivel a <em>com.sun.beansfinder</em> csomagban van, amelyet nem lehet el&eacute;rni a <em>sandbox</em> k&ouml;rnyezetből, &aacute;m az Java 1.4 verzi&oacute;ban megjelenő <a href="http://hg.openjdk.java.net/jdk7/build/jdk/file/9b8c96f96a0f/src/share/classes/java/beans/Expression.java" class="external-link" rel="nofollow" style="color: #326ca6; text-decoration: none">java.beans.Expression</a> oszt&aacute;lyon kereszt&uuml;l igen:</p>
                                                <div class="code panel" style="border-width: 1px;">
                                                    <div class="codeHeader panelHeader" style="border-bottom-width: 1px;">
                                                        <b>Exploit.java</b>
                                                    </div>
                                                    <div class="codeContent panelContent">
                                                        <pre class="theme: Default; brush: java; gutter: false" style="font-size:12px;; font-size: 13px">new Expression(Class.class, &quot;forName&quot;, new Object[] {&quot;sun.awt.SunToolkit&quot;}).invoke();</pre>
                                                    </div>
                                                </div>
                                                <p style="font-size: 13px">Az <a href="http://hg.openjdk.java.net/jdk7/build/jdk/file/9b8c96f96a0f/src/share/classes/java/beans/Expression.java" class="external-link" rel="nofollow" style="color: #326ca6; text-decoration: none">Expression.java</a> oszt&aacute;ly forr&aacute;s&aacute;ban azt l&aacute;thatjuk, hogy megh&iacute;vja az ősoszt&aacute;ly&aacute;nak a konstruktor&aacute;t:</p>
                                                <div class="code panel" style="border-width: 1px;">
                                                    <div class="codeHeader panelHeader" style="border-bottom-width: 1px;">
                                                        <b>Expression.java</b>
                                                    </div>
                                                    <div class="codeContent panelContent">
                                                        <pre class="first-line: 70; theme: Default; brush: java; gutter: true" style="font-size:12px;; font-size: 13px">@ConstructorProperties({&quot;target&quot;, &quot;methodName&quot;, &quot;arguments&quot;})
public Expression(Object target, String methodName, Object[] arguments) {
    super(target, methodName, arguments);
}</pre>
                                                    </div>
                                                </div>
                                                <p style="font-size: 13px">A <a href="http://hg.openjdk.java.net/jdk7/build/jdk/file/9b8c96f96a0f/src/share/classes/java/beans/Statement.java" class="external-link" rel="nofollow" style="color: #326ca6; text-decoration: none">Statement.java</a> oszt&aacute;lyban l&aacute;thatjuk az AccessController ellenőrz&eacute;se alatti invoke h&iacute;v&aacute;st:</p>
                                                <div class="code panel" style="border-width: 1px;">
                                                    <div class="codeHeader panelHeader" style="border-bottom-width: 1px;">
                                                        <b>Statement.java</b>
                                                    </div>
                                                    <div class="codeContent panelContent">
                                                        <pre class="first-line: 181; theme: Default; brush: java; gutter: true" style="font-size:12px;; font-size: 13px">try {
    return AccessController.doPrivileged(
            new PrivilegedExceptionAction&lt;Object&gt;() {
                public Object run() throws Exception {
                    return invokeInternal();
                }
            },
            acc
    );
}
catch (PrivilegedActionException exception) {
    throw exception.getException();
}</pre>
                                                    </div>
                                                </div>
                                                <p style="font-size: 13px">Amely tartalmaz egy sz&eacute;p k&uuml;l&ouml;n &aacute;gat arra az esetre, ha a Class.forName() ker&uuml;lne megh&iacute;v&aacute;sra:</p>
                                                <div class="code panel" style="border-width: 1px;">
                                                    <div class="codeHeader panelHeader" style="border-bottom-width: 1px;">
                                                        <b>Statement.java</b>
                                                    </div>
                                                    <div class="codeContent panelContent">
                                                        <pre class="first-line: 209; theme: Default; brush: java; gutter: true" style="font-size:12px;; font-size: 13px">// Class.forName() won't load classes outside
// of core from a class inside core. Special
// case this method.
if (target == Class.class &amp;&amp; methodName.equals(&quot;forName&quot;)) {
    return ClassFinder.resolveClass((String)arguments[0], this.loader);
}</pre>
                                                    </div>
                                                </div>
                                                <p style="font-size: 13px">&Iacute;gy viszont visszaad&oacute;dik a k&eacute;rt oszt&aacute;ly, mindenf&eacute;le ellenőrz&eacute;s n&eacute;lk&uuml;l, mert a <em>ClassFinder</em> bizony nem fog dobni&nbsp;<em>PrivilegedActionException</em> kiv&eacute;telt... ettől a pontt&oacute;l m&aacute;r &quot;trivi&aacute;lis&quot; a sandbox k&ouml;rnyezetből val&oacute; kit&ouml;r&eacute;s, mivel ezek a belső haszn&aacute;lat&uacute; oszt&aacute;lyok elvileg nem lenn&eacute;nek bet&ouml;lthetőek... <img class="emoticon emoticon-smile" src="/s/en_GB/3284/7/_/images/icons/emoticons/smile.png" data-emoticon-name="smile" alt="(smile)" /></p>
                                                <p style="font-size: 13px">A Statement.java oszt&aacute;lyban is van egy nagyon sz&eacute;p <a href="http://hg.openjdk.java.net/jdk7/build/jdk/diff/7720d6c079ca/src/share/classes/java/beans/Statement.java" class="external-link" rel="nofollow" style="color: #326ca6; text-decoration: none">programoz&aacute;stechnikai hiba</a>, amely k&ouml;zel k&eacute;t &eacute;ve jelent meg a k&oacute;db&aacute;zisban, &eacute;s az&oacute;ta is benne fekszik:</p>
                                                <div class="code panel" style="border-width: 1px;">
                                                    <div class="codeContent panelContent">
                                                        <pre class="theme: Default; brush: diff; gutter: false" style="font-size:12px;; font-size: 13px">--- a/src/share/classes/java/beans/Statement.java        Thu Jan 29 15:34:50 2009 +0300
+++ b/src/share/classes/java/beans/Statement.java        Fri Jul 03 16:56:29 2009 +0400
@@ -66,6 +66,7 @@ public class Statement {
     Object target;
     String methodName;
     Object[] arguments;
+    ClassLoader loader;

     /**
      * Creates a new &lt;code&gt;Statement&lt;/code&gt; object with a &lt;code&gt;target&lt;/code&gt;,
@@ -157,7 +158,7 @@ public class Statement {
         // of core from a class inside core. Special
         // case this method.
         if (target == Class.class &amp;&amp; methodName.equals(&quot;forName&quot;)) {
-            return ClassFinder.resolveClass((String)arguments[0]);
+            return ClassFinder.resolveClass((String)arguments[0], this.loader);
         }
         Class[] argClasses = new Class[arguments.length];
         for(int i = 0; i &lt; arguments.length; i++) {</pre>
                                                    </div>
                                                </div>
                                                <p style="font-size: 13px">Noha a hib&aacute;val nincs kapcsolatban, de beleker&uuml;lt a k&oacute;db&aacute;zisba egy <em>loader</em> nevű p&eacute;ld&aacute;nyv&aacute;ltoz&oacute;, amelyet &aacute;tadnak param&eacute;terk&eacute;nt a <em>resolveClass</em> met&oacute;dus h&iacute;v&aacute;s&aacute;n&aacute;l, de <strong>sehol nem kap &eacute;rt&eacute;ket</strong>. Elk&eacute;pesztő! B&aacute;rmelyik statikus k&oacute;danaliz&aacute;l&oacute; program hangosan ugat egy ilyen hib&aacute;ra, amely k&eacute;t &eacute;ve a Java egyik fontos oszt&aacute;ly&aacute;ban fekszik...&nbsp;<img class="emoticon emoticon-smile" src="/s/en_GB/3284/7/_/images/icons/emoticons/smile.png" data-emoticon-name="smile" alt="(smile)" /></p>
                                                <h2 id="Java7sebezhetős&eacute;g-Vesz&eacute;lyes">Vesz&eacute;lyes?</h2>
                                                <p style="font-size: 13px">A k&uuml;lf&ouml;ldi &eacute;s hazai IT port&aacute;lok igen k&eacute;nyes sebezhetős&eacute;gk&eacute;nt &iacute;rt&aacute;k le ezt a probl&eacute;m&aacute;t, de val&oacute;sz&iacute;nűleg nagyobb a f&uuml;stje, mint a l&aacute;ngja... szakmailag ugyanis nagyon &eacute;rdekes egy ilyen hib&aacute;t megtal&aacute;lni, felfedni &eacute;s a sebezhetős&eacute;g ok&aacute;t kider&iacute;teni.. de a hitelesen al&aacute;&iacute;rt Java appletek <a href="http://docs.oracle.com/javase/tutorial/deployment/applet/security.html" class="external-link" rel="nofollow" style="color: #326ca6; text-decoration: none">k&eacute;pesek a <em>sandbox</em> k&ouml;rnyezeten k&iacute;v&uuml;l is futni</a>, &eacute;s akik vissza szeretn&eacute;nek &eacute;lni a helyzettel, azoknak nem okozhat neh&eacute;zs&eacute;get egy hamis, de &eacute;rv&eacute;nyes &eacute;s hiteles al&aacute;&iacute;r&aacute;s megszerz&eacute;se... nem hiteles al&aacute;&iacute;r&aacute;ssal pedig csak egy felhaszn&aacute;l&oacute;i j&oacute;v&aacute;hagy&aacute;s kell, a felhaszn&aacute;l&oacute; pedig j&oacute;v&aacute; fogja hagyni az applet fut&aacute;s&aacute;t...</p>
                                                <p style="font-size: 13px">...ennek ellen&eacute;re tartsuk sz&aacute;razon a puskaport &eacute;s j&aacute;rjuk nyitott szemmel, de nem felt&eacute;tlen sz&uuml;ks&eacute;ges a JRE/JDK elt&aacute;vol&iacute;t&aacute;sa a g&eacute;pekről, ahogy azt t&ouml;bb helyen is olvashatjuk. <img class="emoticon emoticon-smile" src="/s/en_GB/3284/7/_/images/icons/emoticons/smile.png" data-emoticon-name="smile" alt="(smile)" /></p>
                                                <hr />
                                                <p style="font-size: 13px">
                                                    <style type="text/css">
    .rater {
        color: #949494;
        font-size: 11px;
        margin: 4px 4px;
        overflow: auto;
    }
    .rater td {
        vertical-align: middle;
        padding-top: 6px;
    }
    .rater .images {
        padding-top: 3px;
    }
    .rater .links {
        cursor: pointer;
    }
    .rater .disabled a {
        cursor: default;
    }
    .rater img {
        height: 18px;
        width: 15px;
    }
    .rater .wait img {
        height: 18px;
        width: 20px;
        background: transparent url(/download/resources/com.adaptavist.confluence.rate:rate/resources/themes/v2/gfx/loading_mini.gif) no-repeat scroll center left;
    }
    .rater a img {
        border-style: none;
    }
    .results.caption {
        padding-left: 8px;
    }
    .rater .right-space {
        padding-right: 8px;
    }

    /* sprites */
    .rater img { background: url(/download/resources/com.adaptavist.confluence.rate:rate/resources/themes/v2/gfx/rater.gif) no-repeat top left; }
    .rater a.out img { background-position: 0 -275px; }
    .rater a.over img, .rater img.over { background-position: 0 -226px; }
    .rater a.off img, .rater img.off { background-position: 0 -128px; }
    .rater a.on img, .rater img.on { background-position: 0 -177px; }
    .rater img.half { background-position: 0 -79px; }

                                                    </style> <img width="0px" height="0px" src="/download/resources/com.adaptavist.confluence.rate:rate/resources/themes/v2/gfx/loading_mini.gif" /> <img width="0px" height="0px" src="/download/resources/com.adaptavist.confluence.rate:rate/resources/themes/v2/gfx/rater.gif" /> </p>
                                                <!-- only output the .vote td's if they CAN vote, but have NOT yet voted -->
                                                <!-- obviously change the URL's on the a tags to reflect the various choices -->
                                                <!-- only output the .wait td's if they CAN vote, but haven't already voted -->
                                                <!-- always output .results td's - the classes (on, half and off) depict the current avg. rating -->
                                                <!--td>&nbsp;&nbsp;&nbsp;&nbsp;<a id="activatePlusone-28442766" href="#"
                onClick="gapi.plusone.render('plusone-div-28442766');document.getElementById('activatePlusone-28442766').style.display='none';">Activate the +1 button</a>
                <div id="plusone-div-28442766"></div>
        </td-->
                                                <table class="rater ceoId-28442766" style="color: #949494; font-size: 11px; margin: 4px 4px; overflow: auto">
                                                    <tbody>
                                                        <tr>
                                                            <!-- only output the .vote td's if they CAN vote, but have NOT yet voted -->
                                                            <td class="vote caption" style="font-size: 13px; vertical-align: middle; padding-top: 6px">Your Rating:</td>
                                                            <td class="vote thanks" style="display:none;; font-size: 13px; vertical-align: middle; padding-top: 6px">Thanks for voting!</td>
                                                            <!-- obviously change the URL's on the a tags to reflect the various choices -->
                                                            <td class="vote links images right-space" style="font-size: 13px; vertical-align: middle; padding-top: 6px; padding-top: 3px; cursor: pointer; padding-right: 8px"> <a class="out" href="/plugins/rate/rating.action?decorator=none&amp;displayFilter.includeCookies=true&amp;displayFilter.includeUsers=true&amp;ceoId=28442766&amp;rating=1&amp;redirect=true" alt="Pathetic" title="Pathetic" style="color: #326ca6; text-decoration: none"><img src="/download/resources/com.adaptavist.confluence.rate:rate/resources/themes/v2/gfx/blank.gif" style="height: 18px; width: 15px; border-style: none; background: url(/download/resources/com.adaptavist.confluence.rate:rate/resources/themes/v2/gfx/rater.gif) no-repeat top left; background-position: 0 -275px" /></a><a class="out" href="/plugins/rate/rating.action?decorator=none&amp;displayFilter.includeCookies=true&amp;displayFilter.includeUsers=true&amp;ceoId=28442766&amp;rating=2&amp;redirect=true" alt="Bad" title="Bad" style="color: #326ca6; text-decoration: none"><img src="/download/resources/com.adaptavist.confluence.rate:rate/resources/themes/v2/gfx/blank.gif" style="height: 18px; width: 15px; border-style: none; background: url(/download/resources/com.adaptavist.confluence.rate:rate/resources/themes/v2/gfx/rater.gif) no-repeat top left; background-position: 0 -275px" /></a><a class="out" href="/plugins/rate/rating.action?decorator=none&amp;displayFilter.includeCookies=true&amp;displayFilter.includeUsers=true&amp;ceoId=28442766&amp;rating=3&amp;redirect=true" alt="OK" title="OK" style="color: #326ca6; text-decoration: none"><img src="/download/resources/com.adaptavist.confluence.rate:rate/resources/themes/v2/gfx/blank.gif" style="height: 18px; width: 15px; border-style: none; background: url(/download/resources/com.adaptavist.confluence.rate:rate/resources/themes/v2/gfx/rater.gif) no-repeat top left; background-position: 0 -275px" /></a><a class="out" href="/plugins/rate/rating.action?decorator=none&amp;displayFilter.includeCookies=true&amp;displayFilter.includeUsers=true&amp;ceoId=28442766&amp;rating=4&amp;redirect=true" alt="Good" title="Good" style="color: #326ca6; text-decoration: none"><img src="/download/resources/com.adaptavist.confluence.rate:rate/resources/themes/v2/gfx/blank.gif" style="height: 18px; width: 15px; border-style: none; background: url(/download/resources/com.adaptavist.confluence.rate:rate/resources/themes/v2/gfx/rater.gif) no-repeat top left; background-position: 0 -275px" /></a><a class="out" href="/plugins/rate/rating.action?decorator=none&amp;displayFilter.includeCookies=true&amp;displayFilter.includeUsers=true&amp;ceoId=28442766&amp;rating=5&amp;redirect=true" alt="Outstanding!" title="Outstanding!" style="color: #326ca6; text-decoration: none"><img src="/download/resources/com.adaptavist.confluence.rate:rate/resources/themes/v2/gfx/blank.gif" style="height: 18px; width: 15px; border-style: none; background: url(/download/resources/com.adaptavist.confluence.rate:rate/resources/themes/v2/gfx/rater.gif) no-repeat top left; background-position: 0 -275px" /></a> </td>
                                                            <!-- only output the .wait td's if they CAN vote, but haven't already voted -->
                                                            <td class="wait images" style="display:none;; font-size: 13px; vertical-align: middle; padding-top: 6px; padding-top: 3px"><img src="/download/resources/com.adaptavist.confluence.rate:rate/resources/themes/v2/gfx/blank.gif" alt="Please Wait" title="Please Wait" style="height: 18px; width: 15px; height: 18px; width: 20px; background: transparent url(/download/resources/com.adaptavist.confluence.rate:rate/resources/themes/v2/gfx/loading_mini.gif) no-repeat scroll center left; background: url(/download/resources/com.adaptavist.confluence.rate:rate/resources/themes/v2/gfx/rater.gif) no-repeat top left" /></td>
                                                            <td class="wait text right-space" style="display:none;; font-size: 13px; vertical-align: middle; padding-top: 6px; padding-right: 8px">Please Wait</td>
                                                            <!-- always output .results td's - the classes (on, half and off) depict the current avg. rating -->
                                                            <td class="results caption border" style="font-size: 13px; vertical-align: middle; padding-top: 6px; padding-left: 8px">Results:</td>
                                                            <td class="results images" style="font-size: 13px; vertical-align: middle; padding-top: 6px; padding-top: 3px"> <img class="off" src="/download/resources/com.adaptavist.confluence.rate:rate/resources/themes/v2/gfx/blank.gif" alt="Pathetic" title="Pathetic" style="height: 18px; width: 15px; background: url(/download/resources/com.adaptavist.confluence.rate:rate/resources/themes/v2/gfx/rater.gif) no-repeat top left; background-position: 0 -128px" /><img class="off" src="/download/resources/com.adaptavist.confluence.rate:rate/resources/themes/v2/gfx/blank.gif" alt="Bad" title="Bad" style="height: 18px; width: 15px; background: url(/download/resources/com.adaptavist.confluence.rate:rate/resources/themes/v2/gfx/rater.gif) no-repeat top left; background-position: 0 -128px" /><img class="off" src="/download/resources/com.adaptavist.confluence.rate:rate/resources/themes/v2/gfx/blank.gif" alt="OK" title="OK" style="height: 18px; width: 15px; background: url(/download/resources/com.adaptavist.confluence.rate:rate/resources/themes/v2/gfx/rater.gif) no-repeat top left; background-position: 0 -128px" /><img class="off" src="/download/resources/com.adaptavist.confluence.rate:rate/resources/themes/v2/gfx/blank.gif" alt="Good" title="Good" style="height: 18px; width: 15px; background: url(/download/resources/com.adaptavist.confluence.rate:rate/resources/themes/v2/gfx/rater.gif) no-repeat top left; background-position: 0 -128px" /><img class="off" src="/download/resources/com.adaptavist.confluence.rate:rate/resources/themes/v2/gfx/blank.gif" alt="Outstanding!" title="Outstanding!" style="height: 18px; width: 15px; background: url(/download/resources/com.adaptavist.confluence.rate:rate/resources/themes/v2/gfx/rater.gif) no-repeat top left; background-position: 0 -128px" /> </td>
                                                            <td class="results value" style="font-size: 13px; vertical-align: middle; padding-top: 6px">0</td>
                                                            <td class="results ratings" style="font-size: 13px; vertical-align: middle; padding-top: 6px">rates</td>
                                                            <!--td>&nbsp;&nbsp;&nbsp;&nbsp;<a id="activatePlusone-28442766" href="#"
                onClick="gapi.plusone.render('plusone-div-28442766');document.getElementById('activatePlusone-28442766').style.display='none';">Activate the +1 button</a>
                <div id="plusone-div-28442766"></div>
        </td-->
                                                            <td class="results" style="font-size: 13px; vertical-align: middle; padding-top: 6px">&nbsp; &nbsp;</td>
                                                            <td style="font-size: 13px; vertical-align: middle; padding-top: 6px">
                                                                <g:plusone></g:plusone></td>
                                                            <td class="results" style="font-size: 13px; vertical-align: middle; padding-top: 6px">&nbsp; &nbsp;</td>
                                                            <td style="font-size: 13px; vertical-align: middle; padding-top: 6px">
                                                                <div class="fb-like" data-send="true" data-layout="button_count" data-width="450" data-show-faces="true"></div></td>
                                                        </tr>
                                                    </tbody>
                                                </table>
                                                <p style="font-size: 13px"></p>
                                                <p style="font-size: 13px"> </p>
                                                <div class="bv_viewtracker">
                                                    <span class="bv_viewracker_span bv_viewtracker_closed"> Page viewed 1 times by 1 users since Aug 28, 2012 </span>
                                                </div>
                                                <div class="bv_viewtracker_visits" style="display:none;">
                                                    <table class="bv_viewtracker_table tableview attachments">
                                                        <tbody>
                                                            <tr class="bv_viewtracker_header">
                                                                <th class="bv_viewtracker_header_name" style="font-size: 13px; border-bottom: 1px solid #69c; font-weight: bold; text-align: left">Name</th>
                                                                <th class="bv_viewtracker_header_lastviewed" style="font-size: 13px; border-bottom: 1px solid #69c; font-weight: bold; text-align: left">Last viewed</th>
                                                                <th class="bv_viewtracker_header_timesviewed" style="font-size: 13px; border-bottom: 1px solid #69c; font-weight: bold; text-align: left">Times viewed</th>
                                                            </tr>
                                                            <tr class="bv_viewtracker_body">
                                                                <td class="bv_viewtracker_body_name" style="font-size: 13px; border-bottom: 1px solid #bbb; text-align: left; padding: 4px 16px 4px 0"> <a href="/display/~javalist" class="url fn confluence-userlink" data-username="javalist" style="color: #326ca6; text-decoration: none">Javaforum List</a><br /> </td>
                                                                <td class="bv_viewtracker_body_lastviewed" style="font-size: 13px; border-bottom: 1px solid #bbb; text-align: left; padding: 4px 16px 4px 0">Aug 28, 2012 22:33</td>
                                                                <td class="bv_viewtracker_body_timesviewed" style="font-size: 13px; border-bottom: 1px solid #bbb; text-align: left; padding: 4px 16px 4px 0">1</td>
                                                            </tr>
                                                        </tbody>
                                                    </table>
                                                </div>
                                                <p style="font-size: 13px"></p>
                                                <p style="font-size: 13px">&nbsp;</p>
                                            </div>
                                        </div>
                                        <table id="email-actions" class="email-metadata" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-top: 1px solid #bbb; color: #505050; margin: 8px 0 0 0; padding: 0; color: #505050">
                                            <tbody>
                                                <tr>
                                                    <td class="left" valign="top" style="font-size: 13px; padding-top: 8px; max-width: 45%; text-align: left"> <span class="email-list-item"><a href="http://wiki.javaforum.hu/pages/viewpage.action?pageId=28442766" style="color: #326ca6; text-decoration: none">View Online</a> </span> </td>
                                                    <td class="right" width="50%" valign="top" style="font-size: 13px; padding-top: 8px; text-align: right"> <span class="email-list-item"><a href="http://wiki.javaforum.hu/users/editmyemailsettings.action" style="color: #326ca6; text-decoration: none">Manage Notifications</a> </span> <span class="email-list-divider" style="color: #505050; padding: 0 0.350em">&middot;</span> <span class="email-list-item"><a href="http://wiki.javaforum.hu/users/viewmyemailsettings.action" style="color: #326ca6; text-decoration: none">Unsubscribe from all blog posts</a> </span> </td>
                                                </tr>
                                            </tbody>
                                        </table> </td>
                                </tr>
                            </tbody>
                        </table></td>
                </tr>
                <tr>
                    <td id="email-footer" align="center" style="font-size: 13px; padding: 0 16px 32px 16px; margin: 0"> <small style="font-size: 11px"> This message was sent by <a class="email-footer-link" style="color:#505050;font-size:11px;text-decoration:none;; color: #326ca6; text-decoration: none; color: #505050; font-size: 11px" href="http://www.atlassian.com/software/confluence">Atlassian Confluence</a> 4.2.5, the <a class="email-footer-link" style="color:#505050;font-size:11px;text-decoration:none;; color: #326ca6; text-decoration: none; color: #505050; font-size: 11px" href="http://www.atlassian.com/software/confluence/tour/enterprise-wiki.jsp">Enterprise Wiki</a> </small> </td>
                </tr>
            </tbody>
        </table>
    </body>
</html>