summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew John Hughes <gnu_andrew@member.fsf.org>2015-06-19 16:04:59 +0100
committerAndrew John Hughes <gnu_andrew@member.fsf.org>2015-06-19 16:04:59 +0100
commit6bc8d84e4b0527f680b78a9a0c808cda74d4933d (patch)
tree835056047b4bde36f8d67b1656fa8dab8f6e1c6d
parent591da8d224ab68474c4600d42fc74bafe974303a (diff)
downloadclasspath-6bc8d84e4b0527f680b78a9a0c808cda74d4933d.tar.gz
Mention PR66376.
2015-06-19 Andrew John Hughes <gnu_andrew@member.fsf.org> * NEWS: Mention PR66376.
-rw-r--r--ChangeLog4
-rw-r--r--NEWS1
-rw-r--r--gnu/java/awt/peer/ClasspathFontPeer.java123
-rw-r--r--gnu/java/awt/peer/qt/QtFontPeer.java2
-rw-r--r--gnu/java/awt/peer/qt/QtFramePeer.java15
-rw-r--r--gnu/java/awt/peer/qt/QtGraphics.java135
-rw-r--r--gnu/javax/net/ssl/AbstractSessionContext.java9
-rw-r--r--gnu/javax/net/ssl/PrivateCredentials.java23
-rw-r--r--gnu/javax/net/ssl/SSLCipherSuite.java10
-rw-r--r--gnu/javax/net/ssl/SSLRecordHandler.java4
-rw-r--r--gnu/javax/net/ssl/Session.java32
-rw-r--r--gnu/javax/net/ssl/StaticTrustAnchors.java10
-rw-r--r--gnu/javax/net/ssl/provider/ClientHandshake.java2
-rw-r--r--gnu/javax/net/ssl/provider/SSLv3HMacMD5Impl.java6
-rw-r--r--gnu/javax/net/ssl/provider/SSLv3HMacSHAImpl.java6
-rw-r--r--gnu/javax/net/ssl/provider/ServerDHE_PSKParameters.java8
-rw-r--r--gnu/javax/net/ssl/provider/ServerDHParams.java9
-rw-r--r--gnu/javax/net/ssl/provider/ServerHandshake.java109
-rw-r--r--java/text/SimpleDateFormat.java13
19 files changed, 356 insertions, 165 deletions
diff --git a/ChangeLog b/ChangeLog
index c899e792a..10faf8e4b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2015-06-19 Andrew John Hughes <gnu_andrew@member.fsf.org>
+
+ * NEWS: Mention PR66376.
+
2015-04-18 Andrew John Hughes <gnu_andrew@member.fsf.org>
* gnu/xml/stream/SAXParser.java:
diff --git a/NEWS b/NEWS
index 2e10cf8ff..2735862c6 100644
--- a/NEWS
+++ b/NEWS
@@ -34,6 +34,7 @@ New in release 0.99.1 (XXX XX, 2012)
- PR64881: KeyPairGenerator.genKeyPair() ends up calling the default generateKeyPair method which returns a DSA generator
- PR64902: Keys returned by KeyPairGenerator don't use standardised algorithm names
- PR64904: KeyPairGenerator.genKeyPair() fails if not explicitly initialised
+ - PR66376: Lack of method stringPropertyNames
New in release 0.99 (Feb 15, 2012)
diff --git a/gnu/java/awt/peer/ClasspathFontPeer.java b/gnu/java/awt/peer/ClasspathFontPeer.java
index 96677a4af..2f7768e02 100644
--- a/gnu/java/awt/peer/ClasspathFontPeer.java
+++ b/gnu/java/awt/peer/ClasspathFontPeer.java
@@ -1,5 +1,5 @@
/* ClasspathFontPeer.java -- Font peer used by GNU Classpath.
- Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2004, 2014 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -129,7 +129,8 @@ public abstract class ClasspathFontPeer
super(max, 0.75f, true);
max_entries = max;
}
- protected boolean removeEldestEntry(Map.Entry eldest)
+ @Override
+ protected boolean removeEldestEntry(Map.Entry<K,V> eldest)
{
return size() > max_entries;
}
@@ -191,7 +192,7 @@ public abstract class ClasspathFontPeer
return name;
}
- public static void copyStyleToAttrs (int style, Map attrs)
+ public static void copyStyleToAttrs (int style, Map<TextAttribute,Object> attrs)
{
if ((style & Font.BOLD) == Font.BOLD)
attrs.put (TextAttribute.WEIGHT, TextAttribute.WEIGHT_BOLD);
@@ -204,18 +205,18 @@ public abstract class ClasspathFontPeer
attrs.put (TextAttribute.POSTURE, TextAttribute.POSTURE_REGULAR);
}
- protected static void copyFamilyToAttrs (String fam, Map attrs)
+ protected static void copyFamilyToAttrs (String fam, Map<TextAttribute,Object> attrs)
{
if (fam != null)
attrs.put (TextAttribute.FAMILY, fam);
}
- public static void copySizeToAttrs (float size, Map attrs)
+ public static void copySizeToAttrs (float size, Map<TextAttribute,Object> attrs)
{
attrs.put (TextAttribute.SIZE, new Float (size));
}
- protected static void copyTransformToAttrs (AffineTransform trans, Map attrs)
+ protected static void copyTransformToAttrs (AffineTransform trans, Map<TextAttribute,Object> attrs)
{
if (trans != null)
{
@@ -255,12 +256,12 @@ public abstract class ClasspathFontPeer
}
- protected void setStandardAttributes (String name, Map attribs)
+ protected void setStandardAttributes (String name, Map<TextAttribute,Object> attribs)
{
String family = this.familyName;
AffineTransform trans = this.transform;
- float size = this.size;
- int style = this.style;
+ float setSize = this.size;
+ int setStyle = this.style;
if (attribs.containsKey (TextAttribute.FAMILY))
family = (String) attribs.get (TextAttribute.FAMILY);
@@ -272,27 +273,27 @@ public abstract class ClasspathFontPeer
{
Float weight = (Float) attribs.get (TextAttribute.WEIGHT);
if (weight.floatValue () >= TextAttribute.WEIGHT_BOLD.floatValue ())
- style += Font.BOLD;
+ setStyle += Font.BOLD;
}
if (attribs.containsKey (TextAttribute.POSTURE))
{
Float posture = (Float) attribs.get (TextAttribute.POSTURE);
if (posture.floatValue () >= TextAttribute.POSTURE_OBLIQUE.floatValue ())
- style += Font.ITALIC;
+ setStyle += Font.ITALIC;
}
if (attribs.containsKey (TextAttribute.SIZE))
{
Float sz = (Float) attribs.get (TextAttribute.SIZE);
- size = sz.floatValue ();
+ setSize = sz.floatValue ();
// Pango doesn't accept 0 as a font size.
- if (size < 1)
- size = 1;
+ if (setSize < 1)
+ setSize = 1;
}
else
- size = 12;
+ setSize = 12;
if (attribs.containsKey (TextAttribute.TRANSFORM))
{
@@ -301,10 +302,10 @@ public abstract class ClasspathFontPeer
trans = ta.getTransform ();
}
- setStandardAttributes (name, family, style, size, trans);
+ setStandardAttributes (name, family, setStyle, setSize, trans);
}
- protected void getStandardAttributes (Map attrs)
+ protected void getStandardAttributes (Map<TextAttribute,Object> attrs)
{
copyFamilyToAttrs (this.familyName, attrs);
copySizeToAttrs (this.size, attrs);
@@ -315,15 +316,15 @@ public abstract class ClasspathFontPeer
/* Begin public API */
- public ClasspathFontPeer (String name, Map attrs)
+ public ClasspathFontPeer (String name, Map<TextAttribute,Object> attrs)
{
setStandardAttributes (name, attrs);
}
public ClasspathFontPeer (String name, int style, int size)
{
- setStandardAttributes (name, (String)null, style,
- (float)size, (AffineTransform)null);
+ setStandardAttributes (name, (String)null, style, size,
+ (AffineTransform)null);
}
/**
@@ -333,7 +334,7 @@ public abstract class ClasspathFontPeer
* useful if you are sharing peers between Font objects. Otherwise it may
* be ignored.
*/
-
+ @SuppressWarnings("unused")
public String getName (Font font)
{
return logicalName;
@@ -346,7 +347,7 @@ public abstract class ClasspathFontPeer
* useful if you are sharing peers between Font objects. Otherwise it may
* be ignored.
*/
-
+ @SuppressWarnings("unused")
public String getFamily (Font font)
{
return familyName;
@@ -359,7 +360,7 @@ public abstract class ClasspathFontPeer
* useful if you are sharing peers between Font objects. Otherwise it may
* be ignored.
*/
-
+ @SuppressWarnings("unused")
public String getFamily (Font font, Locale lc)
{
return familyName;
@@ -372,7 +373,7 @@ public abstract class ClasspathFontPeer
* useful if you are sharing peers between Font objects. Otherwise it may
* be ignored.
*/
-
+ @SuppressWarnings("unused")
public String getFontName (Font font)
{
return faceName;
@@ -385,7 +386,7 @@ public abstract class ClasspathFontPeer
* useful if you are sharing peers between Font objects. Otherwise it may
* be ignored.
*/
-
+ @SuppressWarnings("unused")
public String getFontName (Font font, Locale lc)
{
return faceName;
@@ -398,7 +399,7 @@ public abstract class ClasspathFontPeer
* useful if you are sharing peers between Font objects. Otherwise it may
* be ignored.
*/
-
+ @SuppressWarnings("unused")
public float getSize (Font font)
{
return size;
@@ -411,7 +412,7 @@ public abstract class ClasspathFontPeer
* useful if you are sharing peers between Font objects. Otherwise it may
* be ignored.
*/
-
+ @SuppressWarnings("unused")
public boolean isPlain (Font font)
{
return style == Font.PLAIN;
@@ -424,7 +425,7 @@ public abstract class ClasspathFontPeer
* useful if you are sharing peers between Font objects. Otherwise it may
* be ignored.
*/
-
+ @SuppressWarnings("unused")
public boolean isBold (Font font)
{
return ((style & Font.BOLD) == Font.BOLD);
@@ -437,7 +438,7 @@ public abstract class ClasspathFontPeer
* useful if you are sharing peers between Font objects. Otherwise it may
* be ignored.
*/
-
+ @SuppressWarnings("unused")
public boolean isItalic (Font font)
{
return ((style & Font.ITALIC) == Font.ITALIC);
@@ -450,13 +451,13 @@ public abstract class ClasspathFontPeer
* useful if you are sharing peers between Font objects. Otherwise it may
* be ignored.
*/
-
- public Font deriveFont (Font font, int style, float size)
+ @SuppressWarnings("unused")
+ public Font deriveFont (Font font, int newStyle, float newSize)
{
- Map attrs = new HashMap ();
+ Map<TextAttribute,Object> attrs = new HashMap<TextAttribute,Object>();
getStandardAttributes (attrs);
- copyStyleToAttrs (style, attrs);
- copySizeToAttrs (size, attrs);
+ copyStyleToAttrs (newStyle, attrs);
+ copySizeToAttrs (newSize, attrs);
return tk().getFont (logicalName, attrs);
}
@@ -467,12 +468,12 @@ public abstract class ClasspathFontPeer
* useful if you are sharing peers between Font objects. Otherwise it may
* be ignored.
*/
-
- public Font deriveFont (Font font, float size)
+ @SuppressWarnings("unused")
+ public Font deriveFont (Font font, float newSize)
{
- Map attrs = new HashMap ();
+ Map<TextAttribute,Object> attrs = new HashMap<TextAttribute,Object>();
getStandardAttributes (attrs);
- copySizeToAttrs (size, attrs);
+ copySizeToAttrs (newSize, attrs);
return tk().getFont (logicalName, attrs);
}
@@ -483,12 +484,12 @@ public abstract class ClasspathFontPeer
* useful if you are sharing peers between Font objects. Otherwise it may
* be ignored.
*/
-
- public Font deriveFont (Font font, int style)
+ @SuppressWarnings("unused")
+ public Font deriveFont (Font font, int newStyle)
{
- Map attrs = new HashMap ();
+ Map<TextAttribute,Object> attrs = new HashMap<TextAttribute,Object>();
getStandardAttributes (attrs);
- copyStyleToAttrs (style, attrs);
+ copyStyleToAttrs (newStyle, attrs);
return tk().getFont (logicalName, attrs);
}
@@ -499,12 +500,12 @@ public abstract class ClasspathFontPeer
* useful if you are sharing peers between Font objects. Otherwise it may
* be ignored.
*/
-
- public Font deriveFont (Font font, int style, AffineTransform t)
+ @SuppressWarnings("unused")
+ public Font deriveFont (Font font, int newStyle, AffineTransform t)
{
- Map attrs = new HashMap ();
+ Map<TextAttribute,Object> attrs = new HashMap<TextAttribute,Object>();
getStandardAttributes (attrs);
- copyStyleToAttrs (style, attrs);
+ copyStyleToAttrs (newStyle, attrs);
copyTransformToAttrs (t, attrs);
return tk().getFont (logicalName, attrs);
}
@@ -516,10 +517,10 @@ public abstract class ClasspathFontPeer
* useful if you are sharing peers between Font objects. Otherwise it may
* be ignored.
*/
-
+ @SuppressWarnings("unused")
public Font deriveFont (Font font, AffineTransform t)
{
- Map attrs = new HashMap ();
+ Map<TextAttribute,Object> attrs = new HashMap<TextAttribute,Object>();
getStandardAttributes (attrs);
copyTransformToAttrs (t, attrs);
return tk().getFont (logicalName, attrs);
@@ -532,8 +533,9 @@ public abstract class ClasspathFontPeer
* useful if you are sharing peers between Font objects. Otherwise it may
* be ignored.
*/
-
- public Font deriveFont (Font font, Map attrs)
+ @SuppressWarnings("unused")
+ public Font deriveFont (Font font,
+ Map<? extends AttributedCharacterIterator.Attribute,?> attrs)
{
return tk().getFont (logicalName, attrs);
}
@@ -545,10 +547,10 @@ public abstract class ClasspathFontPeer
* useful if you are sharing peers between Font objects. Otherwise it may
* be ignored.
*/
-
- public Map getAttributes (Font font)
+ @SuppressWarnings("unused")
+ public Map<TextAttribute,?> getAttributes (Font font)
{
- HashMap h = new HashMap ();
+ HashMap<TextAttribute,Object> h = new HashMap<TextAttribute,Object>();
getStandardAttributes (h);
return h;
}
@@ -560,8 +562,8 @@ public abstract class ClasspathFontPeer
* useful if you are sharing peers between Font objects. Otherwise it may
* be ignored.
*/
-
- public AttributedCharacterIterator.Attribute[] getAvailableAttributes(Font font)
+ @SuppressWarnings("unused")
+ public static AttributedCharacterIterator.Attribute[] getAvailableAttributes(Font font)
{
AttributedCharacterIterator.Attribute a[] =
new AttributedCharacterIterator.Attribute[5];
@@ -580,7 +582,7 @@ public abstract class ClasspathFontPeer
* useful if you are sharing peers between Font objects. Otherwise it may
* be ignored.
*/
-
+ @SuppressWarnings("unused")
public AffineTransform getTransform (Font font)
{
if (transform == null)
@@ -595,7 +597,7 @@ public abstract class ClasspathFontPeer
* useful if you are sharing peers between Font objects. Otherwise it may
* be ignored.
*/
-
+ @SuppressWarnings("unused")
public boolean isTransformed (Font font)
{
return ! transform.isIdentity ();
@@ -608,13 +610,12 @@ public abstract class ClasspathFontPeer
* useful if you are sharing peers between Font objects. Otherwise it may
* be ignored.
*/
-
+ @SuppressWarnings("unused")
public float getItalicAngle (Font font)
{
if ((style & Font.ITALIC) == Font.ITALIC)
return TextAttribute.POSTURE_OBLIQUE.floatValue ();
- else
- return TextAttribute.POSTURE_REGULAR.floatValue ();
+ return TextAttribute.POSTURE_REGULAR.floatValue ();
}
@@ -625,7 +626,7 @@ public abstract class ClasspathFontPeer
* useful if you are sharing peers between Font objects. Otherwise it may
* be ignored.
*/
-
+ @SuppressWarnings("unused")
public int getStyle (Font font)
{
return style;
diff --git a/gnu/java/awt/peer/qt/QtFontPeer.java b/gnu/java/awt/peer/qt/QtFontPeer.java
index 03ed1d2df..3d200d80f 100644
--- a/gnu/java/awt/peer/qt/QtFontPeer.java
+++ b/gnu/java/awt/peer/qt/QtFontPeer.java
@@ -1,5 +1,5 @@
/* QtFontPeer.java --
- Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2006, 2014 Free Software Foundation, Inc.
This file is part of GNU Classpath.
diff --git a/gnu/java/awt/peer/qt/QtFramePeer.java b/gnu/java/awt/peer/qt/QtFramePeer.java
index d5162106f..946ed25be 100644
--- a/gnu/java/awt/peer/qt/QtFramePeer.java
+++ b/gnu/java/awt/peer/qt/QtFramePeer.java
@@ -1,5 +1,5 @@
/* QtFramePeer.java --
- Copyright (C) 2005 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2014 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -56,8 +56,10 @@ public class QtFramePeer extends QtWindowPeer implements FramePeer
super( kit, owner );
}
+ @Override
protected native void init();
+ @Override
protected void setup()
{
super.setup();
@@ -81,12 +83,14 @@ public class QtFramePeer extends QtWindowPeer implements FramePeer
dispose();
}
+ @Override
public int getState()
{
// FIXME
return theState;
}
+ @Override
public Insets getInsets()
{
int mbHeight = ( ((Frame)owner).getMenuBar() != null ) ?
@@ -94,6 +98,7 @@ public class QtFramePeer extends QtWindowPeer implements FramePeer
return new Insets(mbHeight, 0, 0, 0);
}
+ @Override
public void setIconImage(Image im)
{
if (im instanceof QtImage)
@@ -102,11 +107,13 @@ public class QtFramePeer extends QtWindowPeer implements FramePeer
setIcon( new QtImage( im.getSource() ) );
}
+ @Override
public void setMaximizedBounds(Rectangle rect)
{
// FIXME
}
+ @Override
public void setMenuBar(MenuBar mb)
{
if( mb != null )
@@ -126,35 +133,41 @@ public class QtFramePeer extends QtWindowPeer implements FramePeer
setMenu( null );
}
+ @Override
public void setResizable(boolean resizeable)
{
// FIXME
}
+ @Override
public void setState(int s)
{
theState = s;
// FIXME
}
+ @Override
public void setBoundsPrivate(int x, int y, int width, int height)
{
// TODO Auto-generated method stub
}
+ @Override
public void updateAlwaysOnTop()
{
// TODO Auto-generated method stub
}
+ @Override
public boolean requestWindowFocus()
{
// TODO Auto-generated method stub
return false;
}
+ @Override
public Rectangle getBoundsPrivate()
{
// TODO: Implement this properly.
diff --git a/gnu/java/awt/peer/qt/QtGraphics.java b/gnu/java/awt/peer/qt/QtGraphics.java
index f68cc0dbd..29655ffa5 100644
--- a/gnu/java/awt/peer/qt/QtGraphics.java
+++ b/gnu/java/awt/peer/qt/QtGraphics.java
@@ -1,5 +1,5 @@
/* QtGraphics.java --
- Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2006, 2014 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -144,6 +144,7 @@ public abstract class QtGraphics extends Graphics2D
public synchronized native void delete();
+ @Override
public void dispose()
{
}
@@ -162,7 +163,7 @@ public abstract class QtGraphics extends Graphics2D
protected native void initVolatileImage(QtVolatileImage image);
// Creates a new native QPainter object on the same context.
- private native void cloneNativeContext( QtGraphics parent );
+ private native void cloneNativeContext( QtGraphics parentGraphics );
private native void setColor(int r, int g, int b, int a);
private native void drawNative( QPainterPath p );
private native void fillNative( QPainterPath p );
@@ -193,19 +194,23 @@ public abstract class QtGraphics extends Graphics2D
/**
* Context-sensitive methods are declared abstract.
*/
+ @Override
public abstract Graphics create();
+ @Override
public abstract void copyArea(int x, int y, int width, int height,
int dx, int dy);
+ @Override
public abstract GraphicsConfiguration getDeviceConfiguration();
-
+ @Override
public Color getColor()
{
return new Color(color.getRed(), color.getGreen(), color.getBlue());
}
+ @Override
public void setColor(Color c)
{
if( c == null )
@@ -215,43 +220,48 @@ public abstract class QtGraphics extends Graphics2D
setColor(c.getRed(), c.getGreen(), c.getBlue(), alpha);
}
+ @Override
public void setBackground(Color color)
{
bgcolor = new Color(color.getRed(), color.getGreen(), color.getBlue());
}
+ @Override
public Color getBackground()
{
return new Color(bgcolor.getRed(), bgcolor.getGreen(), bgcolor.getBlue());
}
+ @Override
public void setPaintMode()
{
}
+ @Override
public void setXORMode(Color color)
{
// FIXME
}
+ @Override
public boolean hit(Rectangle rect, Shape s, boolean onStroke)
{
if( onStroke )
{
Shape stroked = currentStroke.createStrokedShape( s );
- return stroked.intersects( (double)rect.x, (double)rect.y,
- (double)rect.width, (double)rect.height );
+ return stroked.intersects( rect.x, rect.y, rect.width, rect.height );
}
- return s.intersects( (double)rect.x, (double)rect.y,
- (double)rect.width, (double)rect.height );
+ return s.intersects( rect.x, rect.y, rect.width, rect.height );
}
// ******************* Font ***********************
+ @Override
public Font getFont()
{
return font;
}
+ @Override
public void setFont(Font font)
{
if( font == null )
@@ -261,9 +271,10 @@ public abstract class QtGraphics extends Graphics2D
setFontNative( (QtFontPeer)font.getPeer() );
}
- public FontMetrics getFontMetrics(Font font)
+ @Override
+ public FontMetrics getFontMetrics(Font f)
{
- return new QtFontMetrics(font, this);
+ return new QtFontMetrics(f, this);
}
// ***************** Clipping *********************
@@ -271,31 +282,37 @@ public abstract class QtGraphics extends Graphics2D
/**
* Intersects the current clip with the shape
*/
+ @Override
public void clip(Shape s)
{
intersectClipNative( new QPainterPath( s ) );
}
+ @Override
public void clipRect(int x, int y, int width, int height)
{
intersectClipRectNative( x, y, width, height );
}
+ @Override
public void setClip(int x, int y, int width, int height)
{
setClipRectNative( x, y, width, height );
}
+ @Override
public Shape getClip()
{
return getClipNative().getPath();
}
+ @Override
public native Rectangle getClipBounds();
/**
* Sets the clip
*/
+ @Override
public void setClip(Shape clip)
{
if (clip == null)
@@ -306,6 +323,7 @@ public abstract class QtGraphics extends Graphics2D
// ***************** Drawing primitives *********************
+ @Override
public void draw(Shape s)
{
if( nativeStroking )
@@ -314,37 +332,40 @@ public abstract class QtGraphics extends Graphics2D
fillNative( new QPainterPath( currentStroke.createStrokedShape( s ) ) );
}
+ @Override
public void fill(Shape s)
{
fillNative( new QPainterPath(s) );
}
+ @Override
public void drawLine(int x1, int y1, int x2, int y2)
{
if( nativeStroking )
- drawNative( new QPainterPath((double)x1, (double)y1, (double)x2, (double)y2, true) );
+ drawNative( new QPainterPath(x1, y1, x2, y2, true) );
else
- draw( new Line2D.Double((double)x1, (double)y1, (double)x2, (double)y2) );
+ draw( new Line2D.Double(x1, y1, x2, y2) );
}
+ @Override
public void drawRect(int x, int y, int width, int height)
{
if( nativeStroking )
- drawNative( new QPainterPath((double)x, (double)y,
- (double)width, (double)height) );
+ drawNative( new QPainterPath(x, y, width, height) );
else
fillNative( new QPainterPath
( currentStroke.createStrokedShape
(new Rectangle2D.Double
- ((double)x, (double)y,
- (double)width, (double)height) ) ) );
+ (x, y, width, height) ) ) );
}
+ @Override
public void fillRect(int x, int y, int width, int height)
{
fillNative( new QPainterPath( x, y, width, height ) );
}
+ @Override
public void clearRect(int x, int y, int width, int height)
{
Color c = color;
@@ -353,6 +374,7 @@ public abstract class QtGraphics extends Graphics2D
setColor( c );
}
+ @Override
public void drawRoundRect(int x, int y, int width, int height,
int arcWidth, int arcHeight)
{
@@ -360,6 +382,7 @@ public abstract class QtGraphics extends Graphics2D
arcWidth, arcHeight) );
}
+ @Override
public void fillRoundRect(int x, int y, int width, int height,
int arcWidth, int arcHeight)
{
@@ -367,17 +390,19 @@ public abstract class QtGraphics extends Graphics2D
arcWidth, arcHeight) );
}
+ @Override
public void drawOval(int x, int y, int width, int height)
{
- draw( new Ellipse2D.Double((double)x, (double)y,
- (double)width, (double)height) );
+ draw( new Ellipse2D.Double(x, y, width, height) );
}
+ @Override
public void fillOval(int x, int y, int width, int height)
{
fill( new Ellipse2D.Double(x, y, width, height) );
}
+ @Override
public void drawArc(int x, int y, int width, int height,
int arcStart, int arcAngle)
{
@@ -385,6 +410,7 @@ public abstract class QtGraphics extends Graphics2D
Arc2D.OPEN) );
}
+ @Override
public void fillArc(int x, int y, int width, int height,
int arcStart, int arcAngle)
{
@@ -392,38 +418,46 @@ public abstract class QtGraphics extends Graphics2D
Arc2D.CHORD) );
}
+ @Override
public void drawPolyline(int xPoints[], int yPoints[], int npoints)
{
for( int i = 0; i < npoints - 1; i++)
drawLine(xPoints[i], yPoints[i], xPoints[i + 1], yPoints[i + 1]);
}
+ @Override
public void drawPolygon(int xPoints[], int yPoints[], int npoints)
{
draw( new Polygon(xPoints, yPoints, npoints) );
}
+ @Override
public void fillPolygon(int xPoints[], int yPoints[], int npoints)
{
fill( new Polygon(xPoints, yPoints, npoints) );
}
+ @Override
public native void fill3DRect(int x, int y, int width, int height, boolean raised);
+ @Override
public native void draw3DRect(int x, int y, int width, int height, boolean raised);
// *********************** Text rendering *************************
+ @Override
public void drawString(String string, int x, int y)
{
- drawStringNative(string, (double)x, (double)y);
+ drawStringNative(string, x, y);
}
+ @Override
public void drawString(String string, float x, float y)
{
- drawStringNative(string, (double)x, (double)y);
+ drawStringNative(string, x, y);
}
+ @Override
public void drawString (AttributedCharacterIterator ci, int x, int y)
{
// FIXME - to something more correct ?
@@ -433,6 +467,7 @@ public abstract class QtGraphics extends Graphics2D
drawString(s, x, y);
}
+ @Override
public void drawString(AttributedCharacterIterator ci,
float x, float y)
{
@@ -443,12 +478,14 @@ public abstract class QtGraphics extends Graphics2D
drawString(s, x, y);
}
+ @Override
public void drawGlyphVector(GlyphVector v, float x, float y)
{
throw new RuntimeException("Not implemented");
}
// ******************* Image drawing ******************************
+ @Override
public boolean drawImage(Image image,
AffineTransform Tx,
ImageObserver obs)
@@ -461,113 +498,131 @@ public abstract class QtGraphics extends Graphics2D
obs);
}
- public boolean drawImage(Image image, int x, int y, Color bgcolor,
+ @Override
+ public boolean drawImage(Image image, int x, int y, Color background,
ImageObserver observer)
{
if (image instanceof QtImage)
- return ((QtImage)image).drawImage (this, x, y, bgcolor, observer);
+ return ((QtImage)image).drawImage (this, x, y, background, observer);
return (new QtImage(image.getSource())).drawImage (this, x, y,
- bgcolor, observer);
+ background, observer);
}
-
+
+ @Override
public boolean drawImage(Image image,
int dx1, int dy1, int dx2, int dy2,
int sx1, int sy1, int sx2, int sy2,
- Color bgcolor, ImageObserver observer)
+ Color background, ImageObserver observer)
{
if (image instanceof QtImage)
return ((QtImage)image).drawImage(this, dx1, dy1, dx2, dy2,
- sx1, sy1, sx2, sy2, bgcolor, observer);
+ sx1, sy1, sx2, sy2, background, observer);
return (new QtImage(image.getSource())).drawImage(this, dx1, dy1,
dx2, dy2,
sx1, sy1, sx2, sy2,
- bgcolor, observer);
+ background, observer);
}
+ @Override
public boolean drawImage(Image image, int x, int y,
- int width, int height, Color bgcolor,
+ int width, int height, Color background,
ImageObserver observer)
{
if (image instanceof QtImage)
return ((QtImage)image).drawImage (this, x, y, width, height,
- bgcolor, observer);
+ background, observer);
return (new QtImage(image.getSource())).drawImage (this, x, y,
width, height,
- bgcolor, observer);
+ background, observer);
}
+ @Override
public boolean drawImage(Image image, int x, int y, int width, int height,
ImageObserver observer)
{
return drawImage(image, x, y, width, height, null, observer);
}
+ @Override
public boolean drawImage(Image image, int x, int y, ImageObserver observer)
{
return drawImage(image, x, y, null, observer);
}
- public boolean drawImage(Image image, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, ImageObserver observer)
+ @Override
+ public boolean drawImage(Image image, int dx1, int dy1, int dx2, int dy2,
+ int sx1, int sy1, int sx2, int sy2,
+ ImageObserver observer)
{
return drawImage(image, dx1, dy1, dx2, dy2,
sx1, sy1, sx2, sy2, null, observer);
}
// *********************** Transform methods *************************
+ @Override
public AffineTransform getTransform()
{
return new AffineTransform( xform );
}
+ @Override
public void setTransform(AffineTransform Tx)
{
xform = new AffineTransform( Tx );
setQtTransform( new QMatrix( xform ) );
}
+ @Override
public void rotate(double theta)
{
xform.rotate( theta );
setQtTransform( new QMatrix( xform ) );
}
+ @Override
public void rotate(double theta, double x, double y)
{
xform.rotate(theta, x, y);
setQtTransform( new QMatrix( xform ) );
}
+ @Override
public void scale(double sx, double sy)
{
xform.scale(sx, sy);
setQtTransform( new QMatrix( xform ) );
}
+ @Override
public void shear(double shx, double shy)
{
xform.shear(shx, shy);
setQtTransform( new QMatrix( xform ) );
}
+ @Override
public void transform(AffineTransform Tx)
{
xform.concatenate( Tx );
setQtTransform( new QMatrix( xform ) );
}
+ @Override
public void translate(double tx, double ty)
{
xform.translate( tx, ty );
setQtTransform( new QMatrix( xform ) );
}
+ @Override
public void translate(int x, int y)
{
translate((double)x, (double)y);
}
// *************** Stroking, Filling, Compositing *****************
+ @Override
public void setStroke(Stroke s)
{
try // ..to convert the stroke into a native one.
@@ -584,11 +639,13 @@ public abstract class QtGraphics extends Graphics2D
currentStroke = s;
}
+ @Override
public Stroke getStroke()
{ // FIXME: return copy?
return currentStroke;
}
+ @Override
public void setComposite(Composite comp)
{
if( comp == null)
@@ -617,11 +674,13 @@ public abstract class QtGraphics extends Graphics2D
}
}
+ @Override
public Composite getComposite()
{
return composite;
}
+ @Override
public void setPaint(Paint p)
{
if( p == null )
@@ -649,6 +708,7 @@ public abstract class QtGraphics extends Graphics2D
" paints yet.");
}
+ @Override
public Paint getPaint()
{
// FIXME
@@ -657,21 +717,25 @@ public abstract class QtGraphics extends Graphics2D
// ********************** Rendering Hints *************************
- public void addRenderingHints(Map hints)
+ @Override
+ public void addRenderingHints(Map<?,?> hints)
{
renderingHints.putAll( hints );
}
+ @Override
public Object getRenderingHint(RenderingHints.Key hintKey)
{
return renderingHints.get( hintKey );
}
+ @Override
public RenderingHints getRenderingHints()
{
return (RenderingHints) renderingHints.clone();
}
+ @Override
public void setRenderingHints(Map<?,?> hints)
{
renderingHints = new RenderingHints( null );
@@ -679,6 +743,7 @@ public abstract class QtGraphics extends Graphics2D
updateRenderingHints();
}
+ @Override
public void setRenderingHint(RenderingHints.Key hintKey, Object hintValue)
{
renderingHints.put( hintKey, hintValue );
@@ -692,21 +757,25 @@ public abstract class QtGraphics extends Graphics2D
////////////////////////////// unimplemented /////////////////////
+ @Override
public FontRenderContext getFontRenderContext()
{
throw new UnsupportedOperationException("Not implemented yet");
}
- public void drawRenderableImage(RenderableImage image, AffineTransform xform)
+ @Override
+ public void drawRenderableImage(RenderableImage image, AffineTransform transform)
{
throw new UnsupportedOperationException("Not implemented yet");
}
- public void drawRenderedImage(RenderedImage image, AffineTransform xform)
+ @Override
+ public void drawRenderedImage(RenderedImage image, AffineTransform transform)
{
throw new UnsupportedOperationException("Not implemented yet");
}
+ @Override
public void drawImage(BufferedImage image, BufferedImageOp op, int x, int y)
{
throw new UnsupportedOperationException("Not implemented yet");
diff --git a/gnu/javax/net/ssl/AbstractSessionContext.java b/gnu/javax/net/ssl/AbstractSessionContext.java
index 96a4e6dd0..031e53a84 100644
--- a/gnu/javax/net/ssl/AbstractSessionContext.java
+++ b/gnu/javax/net/ssl/AbstractSessionContext.java
@@ -1,5 +1,5 @@
/* AbstractSessionContext -- stores SSL sessions, possibly persistently.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
This file is a part of GNU Classpath.
@@ -172,6 +172,7 @@ public abstract class AbstractSessionContext implements SSLSessionContext
* @return The found session, or null if no such session was found,
* or if that session has expired.
*/
+ @Override
public final SSLSession getSession (byte[] sessionId)
{
Session s = implGet (sessionId);
@@ -186,9 +187,9 @@ public abstract class AbstractSessionContext implements SSLSessionContext
public final SSLSession getSession(String host, int port)
{
- for (Enumeration e = getIds(); e.hasMoreElements(); )
+ for (Enumeration<byte[]> e = getIds(); e.hasMoreElements(); )
{
- byte[] id = (byte[]) e.nextElement();
+ byte[] id = e.nextElement();
SSLSession s = getSession(id);
if (s == null) // session expired.
continue;
@@ -221,6 +222,7 @@ public abstract class AbstractSessionContext implements SSLSessionContext
*/
protected abstract Session implGet (byte[] sessionId);
+ @Override
public int getSessionTimeout()
{
return (int) (timeout / 1000);
@@ -267,6 +269,7 @@ public abstract class AbstractSessionContext implements SSLSessionContext
/**
*
*/
+ @Override
public final void setSessionTimeout(int seconds)
{
if (timeout < 0)
diff --git a/gnu/javax/net/ssl/PrivateCredentials.java b/gnu/javax/net/ssl/PrivateCredentials.java
index 7fff253dd..9da9e7eba 100644
--- a/gnu/javax/net/ssl/PrivateCredentials.java
+++ b/gnu/javax/net/ssl/PrivateCredentials.java
@@ -1,5 +1,5 @@
/* PrivateCredentials.java -- private key/certificate pairs.
- Copyright (C) 2006, 2007 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2007, 2015 Free Software Foundation, Inc.
This file is a part of GNU Classpath.
@@ -118,7 +118,7 @@ public class PrivateCredentials implements ManagerFactoryParameters
{
CertificateFactory cf = CertificateFactory.getInstance("X.509");
Collection<? extends Certificate> certs = cf.generateCertificates(certChain);
- X509Certificate[] chain = (X509Certificate[]) certs.toArray(new X509Certificate[0]);
+ X509Certificate[] chain = certs.toArray(new X509Certificate[certs.size()]);
String alg = null;
String line = readLine(privateKey);
@@ -234,9 +234,9 @@ public class PrivateCredentials implements ManagerFactoryParameters
// Own methods.
// -------------------------------------------------------------------------
- private String readLine(InputStream in) throws IOException
+ private static String readLine(InputStream in) throws IOException
{
- boolean eol_is_cr = System.getProperty("line.separator").equals("\r");
+ boolean eolIsCR = System.getProperty("line.separator").equals("\r");
CPStringBuilder str = new CPStringBuilder();
while (true)
{
@@ -245,12 +245,11 @@ public class PrivateCredentials implements ManagerFactoryParameters
{
if (str.length() > 0)
break;
- else
- return null;
+ return null;
}
else if (i == '\r')
{
- if (eol_is_cr)
+ if (eolIsCR)
break;
}
else if (i == '\n')
@@ -269,7 +268,7 @@ public class PrivateCredentials implements ManagerFactoryParameters
if (cipher.equals("DES-EDE3-CBC"))
{
mode = ModeFactory.getInstance("CBC", "TripleDES", 8);
- HashMap attr = new HashMap();
+ HashMap<String,Object> attr = new HashMap<String,Object>();
attr.put(IMode.KEY_MATERIAL, deriveKey(salt, 24));
attr.put(IMode.IV, salt);
attr.put(IMode.STATE, new Integer(IMode.DECRYPTION));
@@ -278,7 +277,7 @@ public class PrivateCredentials implements ManagerFactoryParameters
else if (cipher.equals("DES-CBC"))
{
mode = ModeFactory.getInstance("CBC", "DES", 8);
- HashMap attr = new HashMap();
+ HashMap<String,Object> attr = new HashMap<String,Object>();
attr.put(IMode.KEY_MATERIAL, deriveKey(salt, 8));
attr.put(IMode.IV, salt);
attr.put(IMode.STATE, new Integer(IMode.DECRYPTION));
@@ -304,13 +303,13 @@ public class PrivateCredentials implements ManagerFactoryParameters
return result;
}
- private byte[] deriveKey(byte[] salt, int keylen)
+ private static byte[] deriveKey(byte[] salt, int keylen)
throws IOException
{
CallbackHandler passwordHandler = new ConsoleCallbackHandler();
try
{
- Class c = Class.forName(Security.getProperty("jessie.password.handler"));
+ Class<?> c = Class.forName(Security.getProperty("jessie.password.handler"));
passwordHandler = (CallbackHandler) c.newInstance();
}
catch (Exception x) { }
@@ -348,7 +347,7 @@ public class PrivateCredentials implements ManagerFactoryParameters
return key;
}
- private byte[] toByteArray(String hex)
+ private static byte[] toByteArray(String hex)
{
hex = hex.toLowerCase();
byte[] buf = new byte[hex.length() / 2];
diff --git a/gnu/javax/net/ssl/SSLCipherSuite.java b/gnu/javax/net/ssl/SSLCipherSuite.java
index 80068e5cb..d0dbba7e1 100644
--- a/gnu/javax/net/ssl/SSLCipherSuite.java
+++ b/gnu/javax/net/ssl/SSLCipherSuite.java
@@ -1,5 +1,5 @@
/* SSLCipherSuite.java -- an SSL cipher suite.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
This file is a part of GNU Classpath.
@@ -63,7 +63,7 @@ public abstract class SSLCipherSuite
this.algorithm = algorithm;
if (id.length != 2)
throw new IllegalArgumentException ("cipher suite ID must be two bytes");
- this.id = (byte[]) id.clone ();
+ this.id = id.clone ();
this.version = version;
}
@@ -111,9 +111,7 @@ public abstract class SSLCipherSuite
catch (InvocationTargetException ite)
{
// XXX
- NoSuchAlgorithmException nsae = new NoSuchAlgorithmException (name);
- nsae.initCause (ite);
- throw nsae;
+ throw new NoSuchAlgorithmException (name, ite);
}
return suite;
}
@@ -125,7 +123,7 @@ public abstract class SSLCipherSuite
public final byte[] getId ()
{
- return (byte[]) id.clone ();
+ return id.clone ();
}
public final Provider getProvider ()
diff --git a/gnu/javax/net/ssl/SSLRecordHandler.java b/gnu/javax/net/ssl/SSLRecordHandler.java
index 8a44245ce..ec264a6b4 100644
--- a/gnu/javax/net/ssl/SSLRecordHandler.java
+++ b/gnu/javax/net/ssl/SSLRecordHandler.java
@@ -1,5 +1,5 @@
/* SSLRecordHandler.java -- a class that handles SSL record layer messages.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
This file is a part of GNU Classpath.
@@ -86,6 +86,7 @@ public abstract class SSLRecordHandler
return contentType;
}
+ @Override
public boolean equals (final Object o)
{
if (!(o instanceof SSLRecordHandler))
@@ -93,6 +94,7 @@ public abstract class SSLRecordHandler
return ((SSLRecordHandler) o).contentType == contentType;
}
+ @Override
public int hashCode ()
{
return contentType & 0xFF;
diff --git a/gnu/javax/net/ssl/Session.java b/gnu/javax/net/ssl/Session.java
index bfa94c29a..38261694c 100644
--- a/gnu/javax/net/ssl/Session.java
+++ b/gnu/javax/net/ssl/Session.java
@@ -1,5 +1,5 @@
/* SessionImpl.java -- concrete definition of SSLSession.
- Copyright (C) 2006, 2014 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2014, 2015 Free Software Foundation, Inc.
This file is a part of GNU Classpath.
@@ -95,21 +95,25 @@ public abstract class Session implements SSLSession, Serializable
lastAccessedTime = System.currentTimeMillis ();
}
+ @Override
public int getApplicationBufferSize()
{
return applicationBufferSize;
}
+ @Override
public String getCipherSuite()
{
return null;
}
+ @Override
public long getCreationTime()
{
return creationTime;
}
+ @Override
public byte[] getId()
{
return sessionId.id();
@@ -120,18 +124,21 @@ public abstract class Session implements SSLSession, Serializable
return sessionId;
}
+ @Override
public long getLastAccessedTime()
{
return lastAccessedTime;
}
+ @Override
public Certificate[] getLocalCertificates()
{
if (localCerts == null)
return null;
- return (Certificate[]) localCerts.clone();
+ return localCerts.clone();
}
+ @Override
public Principal getLocalPrincipal()
{
if (localCerts != null)
@@ -142,20 +149,23 @@ public abstract class Session implements SSLSession, Serializable
return null;
}
+ @Override
public int getPacketBufferSize()
{
return applicationBufferSize + 2048;
}
+ @Override
public Certificate[] getPeerCertificates() throws SSLPeerUnverifiedException
{
if (!peerVerified)
throw new SSLPeerUnverifiedException("peer not verified");
if (peerCerts == null)
return null;
- return (Certificate[]) peerCerts.clone();
+ return peerCerts.clone();
}
+ @Override
public X509Certificate[] getPeerCertificateChain()
throws SSLPeerUnverifiedException
{
@@ -163,19 +173,22 @@ public abstract class Session implements SSLSession, Serializable
throw new SSLPeerUnverifiedException("peer not verified");
if (peerCertChain == null)
return null;
- return (X509Certificate[]) peerCertChain.clone();
+ return peerCertChain.clone();
}
+ @Override
public String getPeerHost()
{
return peerHost;
}
+ @Override
public int getPeerPort()
{
return peerPort;
}
+ @Override
public Principal getPeerPrincipal() throws SSLPeerUnverifiedException
{
if (!peerVerified)
@@ -185,32 +198,38 @@ public abstract class Session implements SSLSession, Serializable
return peerCertChain[0].getSubjectDN();
}
+ @Override
public SSLSessionContext getSessionContext()
{
return context;
}
+ @Override
public String[] getValueNames()
{
Set<String> keys = this.values.keySet();
return keys.toArray(new String[keys.size()]);
}
+ @Override
public Object getValue(String name)
{
return values.get(name);
}
+ @Override
public void invalidate()
{
valid = false;
}
+ @Override
public boolean isValid()
{
return valid;
}
+ @Override
public void putValue(String name, Object value)
{
values.put(name, value);
@@ -225,6 +244,7 @@ public abstract class Session implements SSLSession, Serializable
}
}
+ @Override
public void removeValue(String name)
{
Object value = values.remove(name);
@@ -308,7 +328,7 @@ public abstract class Session implements SSLSession, Serializable
{
if (id.length > 32)
throw new IllegalArgumentException ("session ID's are limited to 32 bytes");
- this.id = (byte[]) id.clone();
+ this.id = id.clone();
}
// Instance methods.
@@ -316,7 +336,7 @@ public abstract class Session implements SSLSession, Serializable
public byte[] id()
{
- return (byte[]) id.clone();
+ return id.clone();
}
@Override
diff --git a/gnu/javax/net/ssl/StaticTrustAnchors.java b/gnu/javax/net/ssl/StaticTrustAnchors.java
index 480f1c754..fcdf3a8b1 100644
--- a/gnu/javax/net/ssl/StaticTrustAnchors.java
+++ b/gnu/javax/net/ssl/StaticTrustAnchors.java
@@ -1,5 +1,5 @@
/* StaticTrustAnchors.java -- static list of CA certificates.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
This file is a part of GNU Classpath.
@@ -68,7 +68,7 @@ public class StaticTrustAnchors implements ManagerFactoryParameters
public StaticTrustAnchors(X509Certificate[] certs)
{
- this.certs = (X509Certificate[]) certs.clone();
+ this.certs = certs.clone();
}
// Class method.
@@ -94,7 +94,7 @@ public class StaticTrustAnchors implements ManagerFactoryParameters
public X509Certificate[] getCertificates()
{
- return (X509Certificate[]) certs.clone();
+ return certs.clone();
}
// Constant.
@@ -112,7 +112,7 @@ public class StaticTrustAnchors implements ManagerFactoryParameters
static
{
- LinkedList certs = new LinkedList();
+ LinkedList<X509Certificate> certs = new LinkedList<X509Certificate>();
CertificateFactory factory = null;
try
@@ -1935,6 +1935,6 @@ public class StaticTrustAnchors implements ManagerFactoryParameters
"mmFei74pnykkiFY5LKjSq5YDWtRIn7lAhAuYaPsBQ9Yb4gmxlxw=\n" +
"-----END CERTIFICATE-----\n");
- CA_CERTS = new StaticTrustAnchors((X509Certificate[]) certs.toArray(new X509Certificate[0]));
+ CA_CERTS = new StaticTrustAnchors(certs.toArray(new X509Certificate[certs.size()]));
}
}
diff --git a/gnu/javax/net/ssl/provider/ClientHandshake.java b/gnu/javax/net/ssl/provider/ClientHandshake.java
index c938e284a..fc13b9be9 100644
--- a/gnu/javax/net/ssl/provider/ClientHandshake.java
+++ b/gnu/javax/net/ssl/provider/ClientHandshake.java
@@ -1,5 +1,5 @@
/* ClientHandshake.java --
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
This file is a part of GNU Classpath.
diff --git a/gnu/javax/net/ssl/provider/SSLv3HMacMD5Impl.java b/gnu/javax/net/ssl/provider/SSLv3HMacMD5Impl.java
index 5ef84ca1c..b33efc629 100644
--- a/gnu/javax/net/ssl/provider/SSLv3HMacMD5Impl.java
+++ b/gnu/javax/net/ssl/provider/SSLv3HMacMD5Impl.java
@@ -1,5 +1,5 @@
/* SSLv3HMacMD5.java --
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
This file is a part of GNU Classpath.
@@ -38,6 +38,8 @@ exception statement from your version. */
package gnu.javax.net.ssl.provider;
+import gnu.javax.crypto.mac.IMac;
+
import java.security.InvalidAlgorithmParameterException;
import java.security.InvalidKeyException;
import java.security.Key;
@@ -86,7 +88,7 @@ public class SSLv3HMacMD5Impl extends MacSpi
|| !key.getAlgorithm().equalsIgnoreCase("SSLv3HMac-MD5"))
throw new InvalidKeyException("expecting secret key with algorithm \"SSLv3HMac-MD5\"");
Map<String,byte[]> attr =
- Collections.singletonMap(SSLHMac.MAC_KEY_MATERIAL, key.getEncoded());
+ Collections.singletonMap(IMac.MAC_KEY_MATERIAL, key.getEncoded());
adaptee.init(attr);
}
diff --git a/gnu/javax/net/ssl/provider/SSLv3HMacSHAImpl.java b/gnu/javax/net/ssl/provider/SSLv3HMacSHAImpl.java
index 6b9c9e9cc..d1e7ed768 100644
--- a/gnu/javax/net/ssl/provider/SSLv3HMacSHAImpl.java
+++ b/gnu/javax/net/ssl/provider/SSLv3HMacSHAImpl.java
@@ -1,5 +1,5 @@
/* SSLv3HMacSHA.java --
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
This file is a part of GNU Classpath.
@@ -38,6 +38,8 @@ exception statement from your version. */
package gnu.javax.net.ssl.provider;
+import gnu.javax.crypto.mac.IMac;
+
import java.security.InvalidAlgorithmParameterException;
import java.security.InvalidKeyException;
import java.security.Key;
@@ -86,7 +88,7 @@ public class SSLv3HMacSHAImpl extends MacSpi
|| !key.getAlgorithm().equalsIgnoreCase("SSLv3HMac-SHA"))
throw new InvalidKeyException("expecting secret key with algorithm \"SSLv3HMac-SHA\"");
Map<String,byte[]> attr =
- Collections.singletonMap(SSLHMac.MAC_KEY_MATERIAL, key.getEncoded());
+ Collections.singletonMap(IMac.MAC_KEY_MATERIAL, key.getEncoded());
adaptee.init(attr);
}
diff --git a/gnu/javax/net/ssl/provider/ServerDHE_PSKParameters.java b/gnu/javax/net/ssl/provider/ServerDHE_PSKParameters.java
index 1de3f8124..6c53ed66a 100644
--- a/gnu/javax/net/ssl/provider/ServerDHE_PSKParameters.java
+++ b/gnu/javax/net/ssl/provider/ServerDHE_PSKParameters.java
@@ -1,5 +1,5 @@
/* ServerDHE_PSKParameters.java --
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
This file is a part of GNU Classpath.
@@ -57,7 +57,7 @@ import java.nio.charset.Charset;
*
* @author Casey Marshall (csm@gnu.org)
*/
-public class ServerDHE_PSKParameters implements Constructed, Builder, ServerKeyExchangeParams
+public class ServerDHE_PSKParameters implements Builder, ServerKeyExchangeParams
{
private ByteBuffer buffer;
@@ -81,6 +81,7 @@ public class ServerDHE_PSKParameters implements Constructed, Builder, ServerKeyE
buffer.put(dhParams);
}
+ @Override
public KeyExchangeAlgorithm algorithm()
{
return KeyExchangeAlgorithm.DHE_PSK;
@@ -89,6 +90,7 @@ public class ServerDHE_PSKParameters implements Constructed, Builder, ServerKeyE
/* (non-Javadoc)
* @see gnu.javax.net.ssl.provider.Constructed#length()
*/
+ @Override
public int length()
{
return (buffer.getShort(0) & 0xFFFF) + 2 + params().length();
@@ -115,6 +117,7 @@ public class ServerDHE_PSKParameters implements Constructed, Builder, ServerKeyE
/* (non-Javadoc)
* @see gnu.javax.net.ssl.provider.Builder#buffer()
*/
+ @Override
public ByteBuffer buffer()
{
return (ByteBuffer) buffer.duplicate().rewind().limit(length());
@@ -128,6 +131,7 @@ public class ServerDHE_PSKParameters implements Constructed, Builder, ServerKeyE
/* (non-Javadoc)
* @see gnu.javax.net.ssl.provider.Constructed#toString(java.lang.String)
*/
+ @Override
public String toString(String prefix)
{
StringWriter str = new StringWriter();
diff --git a/gnu/javax/net/ssl/provider/ServerDHParams.java b/gnu/javax/net/ssl/provider/ServerDHParams.java
index 0e2c34881..225956e15 100644
--- a/gnu/javax/net/ssl/provider/ServerDHParams.java
+++ b/gnu/javax/net/ssl/provider/ServerDHParams.java
@@ -1,5 +1,5 @@
/* ServerDHParams.java -- The server's Diffie-Hellman parameters.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
This file is a part of GNU Classpath.
@@ -104,11 +104,13 @@ public class ServerDHParams implements Builder, ServerKeyExchangeParams
buffer.put(y_bytes, y_off, y_len);
}
- @Deprecated public KeyExchangeAlgorithm algorithm ()
+ @Deprecated @Override
+ public KeyExchangeAlgorithm algorithm ()
{
return null; // XXX can't support this.
}
+ @Override
public int length ()
{
int offset1 = buffer.getShort (0) & 0xFFFF;
@@ -117,6 +119,7 @@ public class ServerDHParams implements Builder, ServerKeyExchangeParams
+ offset1 + offset2 + 6);
}
+ @Override
public ByteBuffer buffer()
{
return (ByteBuffer) buffer.duplicate().position(0).limit(length());
@@ -221,11 +224,13 @@ public class ServerDHParams implements Builder, ServerKeyExchangeParams
buffer.put (buf, offset, length);
}
+ @Override
public String toString ()
{
return toString (null);
}
+ @Override
public String toString (final String prefix)
{
StringWriter str = new StringWriter ();
diff --git a/gnu/javax/net/ssl/provider/ServerHandshake.java b/gnu/javax/net/ssl/provider/ServerHandshake.java
index d69fa120d..bfc7a28ef 100644
--- a/gnu/javax/net/ssl/provider/ServerHandshake.java
+++ b/gnu/javax/net/ssl/provider/ServerHandshake.java
@@ -1,5 +1,5 @@
/* ServerHandshake.java -- the server-side handshake.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2015 Free Software Foundation, Inc.
This file is a part of GNU Classpath.
@@ -194,8 +194,7 @@ class ServerHandshake extends AbstractHandshake
* we have enabled.
*/
private CipherSuite chooseSuite (final CipherSuiteList clientSuites,
- final String[] enabledSuites,
- final ProtocolVersion version)
+ final String[] enabledSuites)
throws SSLException
{
// Figure out which SignatureAlgorithms we can support.
@@ -336,8 +335,7 @@ class ServerHandshake extends AbstractHandshake
engine.getEnabledProtocols ());
engine.session().suite =
chooseSuite (hello.cipherSuites (),
- engine.getEnabledCipherSuites (),
- engine.session().version);
+ engine.getEnabledCipherSuites ());
compression = chooseCompression (hello.compressionMethods ());
if (Debug.DEBUG)
logger.logv(Component.SSL_HANDSHAKE,
@@ -513,10 +511,10 @@ class ServerHandshake extends AbstractHandshake
{
ClientDHE_PSKParameters params = (ClientDHE_PSKParameters)
kex.exchangeKeys();
- DHPublicKey serverKey = (DHPublicKey) dhPair.getPublic();
+ DHPublicKey srvKey = (DHPublicKey) dhPair.getPublic();
DHPublicKey clientKey =
- new GnuDHPublicKey(null, serverKey.getParams().getP(),
- serverKey.getParams().getG(),
+ new GnuDHPublicKey(null, srvKey.getParams().getP(),
+ srvKey.getParams().getG(),
params.params().publicValue());
SecretKey psk = null;
try
@@ -573,6 +571,12 @@ class ServerHandshake extends AbstractHandshake
engine.session().privateData.masterSecret = new byte[0];
}
break;
+ case DH_DSS:
+ case DH_RSA:
+ // Message contains no data in this case (RFC2246, 7.4.7)
+ break;
+ default:
+ throw new SSLException("Unsupported algorithm: " + alg);
}
// XXX SRP
@@ -690,6 +694,9 @@ class ServerHandshake extends AbstractHandshake
}
}
break;
+
+ default:
+ throw new IllegalStateException("Invalid state: " + state);
}
handshakeOffset += handshake.length() + 4;
@@ -724,8 +731,7 @@ class ServerHandshake extends AbstractHandshake
{
if (state.isWriteState() || outBuffer.hasRemaining())
return HandshakeStatus.NEED_WRAP;
- else
- return HandshakeStatus.NEED_UNWRAP;
+ return HandshakeStatus.NEED_UNWRAP;
}
// XXX what we need to do here is generate a "stream" of handshake
@@ -1143,6 +1149,8 @@ output_loop:
state = DONE;
}
break;
+ default:
+ throw new IllegalStateException("Invalid state: " + state);
}
}
if (!tasks.isEmpty())
@@ -1194,7 +1202,7 @@ output_loop:
helloV2 = true;
}
- private ByteBuffer signParams(ByteBuffer serverParams)
+ ByteBuffer signParams(ByteBuffer serverParams)
throws NoSuchAlgorithmException, InvalidKeyException, SignatureException
{
SignatureAlgorithm alg = engine.session().suite.signatureAlgorithm();
@@ -1254,6 +1262,43 @@ output_loop:
}
}
+ // Accessors and mutators for delegated tasks.
+
+ void setKeyAlias(final String ka)
+ {
+ keyAlias = ka;
+ }
+
+ String getKeyAlias()
+ {
+ return keyAlias;
+ }
+
+ void setLocalCert(final X509Certificate lc)
+ {
+ localCert = lc;
+ }
+
+ X509Certificate getLocalCert()
+ {
+ return localCert;
+ }
+
+ void setServerKey(final PrivateKey sk)
+ {
+ serverKey = sk;
+ }
+
+ PrivateKey getServerKey()
+ {
+ return serverKey;
+ }
+
+ void setDHPair(KeyPair dh)
+ {
+ dhPair = dh;
+ }
+
// Delegated tasks.
class CertLoader extends DelegatedTask
@@ -1262,21 +1307,24 @@ output_loop:
{
}
+ @Override
public void implRun() throws SSLException
{
KeyExchangeAlgorithm kexalg = engine.session().suite.keyExchangeAlgorithm();
X509ExtendedKeyManager km = engine.contextImpl.keyManager;
Principal[] issuers = null; // XXX use TrustedAuthorities extension.
- keyAlias = km.chooseEngineServerAlias(kexalg.name(), issuers, engine);
- if (keyAlias == null)
+ String kAlias = km.chooseEngineServerAlias(kexalg.name(), issuers, engine);
+ setKeyAlias(kAlias);
+ if (kAlias == null)
throw new SSLException("no certificates available");
- X509Certificate[] chain = km.getCertificateChain(keyAlias);
+ X509Certificate[] chain = km.getCertificateChain(kAlias);
engine.session().setLocalCertificates(chain);
- localCert = chain[0];
- serverKey = km.getPrivateKey(keyAlias);
+ X509Certificate lCert = chain[0];
+ setLocalCert(lCert);
+ setServerKey(km.getPrivateKey(kAlias));
if (kexalg == DH_DSS || kexalg == DH_RSA)
- dhPair = new KeyPair(localCert.getPublicKey(),
- km.getPrivateKey(keyAlias));
+ setDHPair(new KeyPair(lCert.getPublicKey(),
+ km.getPrivateKey(keyAlias)));
}
}
@@ -1288,6 +1336,15 @@ output_loop:
ByteBuffer paramsBuffer;
ByteBuffer sigBuffer;
+ /**
+ * Public constructor to avoid synthetic accessor.
+ */
+ public GenDH()
+ {
+ super();
+ }
+
+ @Override
protected void implRun()
throws NoSuchAlgorithmException, InvalidAlgorithmParameterException,
InvalidKeyException, SignatureException
@@ -1295,8 +1352,9 @@ output_loop:
KeyPairGenerator dhGen = KeyPairGenerator.getInstance("DH");
DHParameterSpec dhparams = DiffieHellman.getParams().getParams();
dhGen.initialize(dhparams, engine.session().random());
- dhPair = dhGen.generateKeyPair();
- DHPublicKey pub = (DHPublicKey) dhPair.getPublic();
+ KeyPair pair = dhGen.generateKeyPair();
+ setDHPair(pair);
+ DHPublicKey pub = (DHPublicKey) pair.getPublic();
// Generate the parameters message.
ServerDHParams params = new ServerDHParams(pub.getParams().getP(),
@@ -1313,7 +1371,7 @@ output_loop:
if (Debug.DEBUG_KEY_EXCHANGE)
logger.logv(Component.SSL_KEY_EXCHANGE,
"Diffie-Hellman public:{0} private:{1}",
- dhPair.getPublic(), dhPair.getPrivate());
+ pair.getPublic(), pair.getPrivate());
}
}
@@ -1326,13 +1384,14 @@ output_loop:
this.encryptedPreMasterSecret = encryptedPreMasterSecret;
}
+ @Override
public void implRun()
throws BadPaddingException, IllegalBlockSizeException, InvalidKeyException,
NoSuchAlgorithmException, NoSuchPaddingException, SSLException
{
Cipher rsa = Cipher.getInstance("RSA");
- rsa.init(Cipher.DECRYPT_MODE, serverKey);
- rsa.init(Cipher.DECRYPT_MODE, localCert);
+ rsa.init(Cipher.DECRYPT_MODE, getServerKey());
+ rsa.init(Cipher.DECRYPT_MODE, getLocalCert());
preMasterSecret = rsa.doFinal(encryptedPreMasterSecret);
generateMasterSecret(clientRandom, serverRandom, engine.session());
byte[][] keys = generateKeys(clientRandom, serverRandom, engine.session());
@@ -1356,8 +1415,8 @@ output_loop:
NoSuchAlgorithmException, NoSuchPaddingException, SSLException
{
Cipher rsa = Cipher.getInstance("RSA");
- rsa.init(Cipher.DECRYPT_MODE, serverKey);
- rsa.init(Cipher.DECRYPT_MODE, localCert);
+ rsa.init(Cipher.DECRYPT_MODE, getServerKey());
+ rsa.init(Cipher.DECRYPT_MODE, getLocalCert());
byte[] rsaSecret = rsa.doFinal(encryptedPreMasterSecret);
byte[] psSecret = psKey.getEncoded();
preMasterSecret = new byte[rsaSecret.length + psSecret.length + 4];
diff --git a/java/text/SimpleDateFormat.java b/java/text/SimpleDateFormat.java
index 05fa4cf15..ba982c457 100644
--- a/java/text/SimpleDateFormat.java
+++ b/java/text/SimpleDateFormat.java
@@ -907,6 +907,7 @@ public class SimpleDateFormat extends DateFormat
for (; fmt_index < fmt_max; ++fmt_index)
{
char ch = pattern.charAt(fmt_index);
+ System.err.println("Handling pattern character " + ch);
if (ch == '\'')
{
if (fmt_index < fmt_max - 1
@@ -1099,6 +1100,7 @@ public class SimpleDateFormat extends DateFormat
}
break;
default:
+ System.err.println("Hit default case from " + ch + "; returning null");
pos.setErrorIndex(pos.getIndex());
return null;
}
@@ -1125,7 +1127,10 @@ public class SimpleDateFormat extends DateFormat
else
n = numberFormat.parse(dateStr, pos);
if (pos == null || ! (n instanceof Long))
- return null;
+ {
+ System.err.println("Number format parsing error; n = " + n + "; returning null");
+ return null;
+ }
value = n.intValue() + offset;
}
else if (set1 != null)
@@ -1160,6 +1165,7 @@ public class SimpleDateFormat extends DateFormat
}
if (!found)
{
+ System.err.println("!found; returning null");
pos.setErrorIndex(index);
return null;
}
@@ -1212,9 +1218,12 @@ public class SimpleDateFormat extends DateFormat
catch (IllegalArgumentException x)
{
pos.setErrorIndex(pos.getIndex());
+ System.err.println("Threw " + x + "; returning null.");
+ System.err.println("Index: " + pos.getIndex());
+ x.printStackTrace();
return null;
}
- }
+ }
/**
* <p>