gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r30450 - in gnunet-java/src/main/java/org/gnunet/voting: .


From: gnunet
Subject: [GNUnet-SVN] r30450 - in gnunet-java/src/main/java/org/gnunet/voting: . messages
Date: Tue, 29 Oct 2013 09:04:48 +0100

Author: dold
Date: 2013-10-29 09:04:48 +0100 (Tue, 29 Oct 2013)
New Revision: 30450

Modified:
   gnunet-java/src/main/java/org/gnunet/voting/BallotTool.java
   gnunet-java/src/main/java/org/gnunet/voting/TallyAuthorityDaemon.java
   
gnunet-java/src/main/java/org/gnunet/voting/messages/SubmitFailureMessage.java
Log:
-fix #3076

Modified: gnunet-java/src/main/java/org/gnunet/voting/BallotTool.java
===================================================================
--- gnunet-java/src/main/java/org/gnunet/voting/BallotTool.java 2013-10-29 
07:53:40 UTC (rev 30449)
+++ gnunet-java/src/main/java/org/gnunet/voting/BallotTool.java 2013-10-29 
08:04:48 UTC (rev 30450)
@@ -31,6 +31,7 @@
 import org.gnunet.mesh.MeshRunabout;
 import org.gnunet.mesh.TunnelEndHandler;
 import org.gnunet.testbed.CompressedConfig;
+import org.gnunet.util.AbsoluteTime;
 import org.gnunet.util.Configuration;
 import org.gnunet.util.PeerIdentity;
 import org.gnunet.util.Program;
@@ -188,6 +189,11 @@
 
         public void visit(SubmitFailureMessage m) {
             System.out.println("vote not submitted: " + m.reason);
+            if (m.authorityTime != null) {
+                // FIXME: verify
+                System.out.println("authority time: " +
+                        
AbsoluteTime.fromNetwork(m.authorityTime.innerMessage).toFancyString());
+            }
             tunnel.destroy();
             mesh.destroy();
         }

Modified: gnunet-java/src/main/java/org/gnunet/voting/TallyAuthorityDaemon.java
===================================================================
--- gnunet-java/src/main/java/org/gnunet/voting/TallyAuthorityDaemon.java       
2013-10-29 07:53:40 UTC (rev 30449)
+++ gnunet-java/src/main/java/org/gnunet/voting/TallyAuthorityDaemon.java       
2013-10-29 08:04:48 UTC (rev 30450)
@@ -32,8 +32,7 @@
 import org.gnunet.mesh.MeshRunabout;
 import org.gnunet.testbed.CompressedConfig;
 import org.gnunet.util.*;
-import org.gnunet.util.crypto.EcdsaPublicKey;
-import org.gnunet.util.crypto.EddsaSignature;
+import org.gnunet.util.crypto.*;
 import org.gnunet.voting.messages.*;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -50,6 +49,8 @@
 
     public static final int MESH_PORT = 1002;
     private Mesh mesh;
+    private EddsaPrivateKey authorityPrivateKey;
+    private EddsaPublicKey authorityPublicKey;
 
     public static class Vote implements Message {
         @UInt32
@@ -130,6 +131,11 @@
         }
     }
 
+    private EddsaSignedMessage<AbsoluteTimeMessage> getTimeSigMessage() {
+        AbsoluteTimeMessage m = AbsoluteTime.now().asMessage();
+        return EddsaSignedMessage.signMessage(m, 0, authorityPrivateKey, 
authorityPublicKey);
+    }
+
     private class TallyMeshReceiver extends MeshRunabout {
         public void visit(SubmitMessage m) {
             logger.debug("got submit message");
@@ -148,13 +154,13 @@
                 getSender().send(fm);
             } else if (!electionState.ballot.startTime.isDue()) {
                 SubmitFailureMessage fm = new SubmitFailureMessage();
-                fm.reason = "too early to submit vote (start "
-                        + electionState.ballot.startTime.toFancyString() + ", 
now "
-                        + AbsoluteTime.now().toFancyString() + ")";
+                fm.reason = "too early to submit vote";
+                fm.authorityTime = getTimeSigMessage();
                 getSender().send(fm);
             } else if (electionState.ballot.closingTime.isDue()) {
                 SubmitFailureMessage fm = new SubmitFailureMessage();
                 fm.reason = "too late to submit vote";
+                fm.authorityTime = getTimeSigMessage();
                 getSender().send(fm);
             }
             // FIXME: check signatures of voter and CA
@@ -246,6 +252,8 @@
 
     public TallyAuthorityDaemon(String[] args) {
         super(args);
+        authorityPrivateKey = EddsaPrivateKey.createRandom();
+        authorityPublicKey = authorityPrivateKey.getPublicKey();
     }
 
     public static void main(String[] args) {

Modified: 
gnunet-java/src/main/java/org/gnunet/voting/messages/SubmitFailureMessage.java
===================================================================
--- 
gnunet-java/src/main/java/org/gnunet/voting/messages/SubmitFailureMessage.java  
    2013-10-29 07:53:40 UTC (rev 30449)
+++ 
gnunet-java/src/main/java/org/gnunet/voting/messages/SubmitFailureMessage.java  
    2013-10-29 08:04:48 UTC (rev 30450)
@@ -27,11 +27,12 @@
 import org.gnunet.util.AbsoluteTimeMessage;
 import org.gnunet.util.GnunetMessage;
 import org.gnunet.util.crypto.EcdsaSignedMessage;
+import org.gnunet.util.crypto.EddsaSignedMessage;
 
 @UnionCase(42010)
 public class SubmitFailureMessage implements GnunetMessage.Body {
     @ZeroTerminatedString
     public String reason;
     @NestedMessage(optional = true)
-    public EcdsaSignedMessage<AbsoluteTimeMessage> authorityTime;
+    public EddsaSignedMessage<AbsoluteTimeMessage> authorityTime;
 }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]