Index: trunk/src/org/openstreetmap/josm/data/oauth/OsmPrivileges.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/oauth/OsmPrivileges.java	(revision 17968)
+++ trunk/src/org/openstreetmap/josm/data/oauth/OsmPrivileges.java	(revision 17972)
@@ -13,4 +13,5 @@
     private boolean allowWritePrefs;
     private boolean allowModifyNotes;
+    private boolean allowWriteDiary;
 
     /**
@@ -109,3 +110,21 @@
         this.allowModifyNotes = allowModifyNotes;
     }
+
+    /**
+     * Determines if the client is allowed to write diary.
+     * @return {@code true} if the client is allowed to write diary, {@code false} otherwise
+     * @since 17972
+     */
+    public boolean isAllowWriteDiary() {
+        return allowWriteDiary;
+    }
+
+    /**
+     * Sets whether the client is allowed to write diary.
+     * @param allowWriteDiary {@code true} if the client is allowed to write diary, {@code false} otherwise
+     * @since 17972
+     */
+    public void setAllowWriteDiary(boolean allowWriteDiary) {
+        this.allowWriteDiary = allowWriteDiary;
+    }
 }
Index: trunk/src/org/openstreetmap/josm/gui/oauth/OsmOAuthAuthorizationClient.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/oauth/OsmOAuthAuthorizationClient.java	(revision 17968)
+++ trunk/src/org/openstreetmap/josm/gui/oauth/OsmOAuthAuthorizationClient.java	(revision 17972)
@@ -360,24 +360,11 @@
         parameters.put("oauth_callback", "");
         parameters.put("authenticity_token", sessionId.token);
-        if (privileges.isAllowWriteApi()) {
-            parameters.put("allow_write_api", "yes");
-        }
-        if (privileges.isAllowWriteGpx()) {
-            parameters.put("allow_write_gpx", "yes");
-        }
-        if (privileges.isAllowReadGpx()) {
-            parameters.put("allow_read_gpx", "yes");
-        }
-        if (privileges.isAllowWritePrefs()) {
-            parameters.put("allow_write_prefs", "yes");
-        }
-        if (privileges.isAllowReadPrefs()) {
-            parameters.put("allow_read_prefs", "yes");
-        }
-        if (privileges.isAllowModifyNotes()) {
-            parameters.put("allow_write_notes", "yes");
-        }
-
-        parameters.put("commit", "Save changes");
+        parameters.put("allow_write_api", booleanParam(privileges.isAllowWriteApi()));
+        parameters.put("allow_write_gpx", booleanParam(privileges.isAllowWriteGpx()));
+        parameters.put("allow_read_gpx", booleanParam(privileges.isAllowReadGpx()));
+        parameters.put("allow_write_prefs", booleanParam(privileges.isAllowWritePrefs()));
+        parameters.put("allow_read_prefs", booleanParam(privileges.isAllowReadPrefs()));
+        parameters.put("allow_write_notes", booleanParam(privileges.isAllowModifyNotes()));
+        parameters.put("allow_write_diary", booleanParam(privileges.isAllowWriteDiary()));
 
         String request = buildPostRequest(parameters);
@@ -405,4 +392,8 @@
             }
         }
+    }
+
+    private static String booleanParam(boolean param) {
+        return param ? "1" : "0";
     }
 
