[1739] in Moira

home help back first fref pref prev next nref lref last post

regapplet fix

daemon@ATHENA.MIT.EDU (Garry Zacheiss)
Fri Feb 2 17:07:13 2001

Message-Id: <200102022207.RAA14066@hodge-podge.mit.edu>
To: moiradev@MIT.EDU
Date: Fri, 02 Feb 2001 17:07:10 -0500
From: Garry Zacheiss <zacheiss@MIT.EDU>

	Using colons as the field seperator and then turning them all
into nulls doesn't work so well when your strings can have :'s in them
(like, for instance, passwords).  This makes it use nulls from the
beginning, to protect the colons.

Garry

Index: Sender.java
===================================================================
RCS file: /afs/athena.mit.edu/astaff/project/moiradev/repository/moira/clients/regapplet/regapplet/Sender.java,v
retrieving revision 1.1
diff -u -r1.1 Sender.java
--- Sender.java	1998/08/01 18:25:41	1.1
+++ Sender.java	2001/02/02 21:34:31
@@ -27,8 +27,8 @@
   }
   public void SendNameData(String FirstName, String MiddleName, String LastName, String MITID) {
      String s;
-     s = "v1:RIFO:" + FirstName + ":" + MiddleName + ":" + LastName
-       + ":" + MITID + ":";
+     s = "v1" + '\0' + "RIFO" + '\0' + FirstName + '\0' + MiddleName + '\0' 
+	 + LastName + '\0' + MITID + '\0';
      sendstring(s);
   }
   protected void sendstring (String s) {
@@ -36,8 +36,8 @@
 	     byte [] data = new byte[s.length()];
 	     s.getBytes(0, s.length(), data, 0);
 	     //             byte [] data = s.getBytes(); // JDK 1.1 way
-             for (int i = 0; i < data.length; i++)
-                 if (data[i] == ':') data[i] = 0;
+             // for (int i = 0; i < data.length; i++)
+             //     if (data[i] == ':') data[i] = 0;
              data = encap.encrypt(data);
              o.write((byte) 0x45);
              sendata(data);
@@ -61,18 +61,18 @@
 		   String Word5,
 		   String Word6) {
      String s;
-     s = "v1:SWRD:" + Word1 + ":" + Word2 + ":" + Word3 + ":"
-         + Word4 + ":" + Word5 + ":" + Word6 + ":";
+     s = "v1" + '\0' + "SWRD" + '\0' + Word1 + '\0' + Word2 + '\0' 
+	 + Word3 + '\0' + Word4 + '\0' + Word5 + '\0' + Word6 + '\0';
      sendstring(s);
   }
   public void SendLogin(String Login) {
      String s;
-     s = "v1:LOGN:" + Login + ":";
+     s = "v1" + '\0' + "LOGN" + '\0' + Login + '\0';
      sendstring(s);
   }
   public void SendPassword(String Password) {
      String s;
-     s = "v1:PSWD:" + Password + ":";
+     s = "v1" + '\0' + "PSWD" + '\0' + Password + '\0';
      sendstring(s);
   }
 }

home help back first fref pref prev next nref lref last post