X-Git-Url: https://gitweb.ps.run/chirp/blobdiff_plain/c2ae0de6287635110bbcf3478c3d8935d38d02c6..c634d6b7851c4bc7901b19b1a6416eb20a367926:/src/main.zig diff --git a/src/main.zig b/src/main.zig index 29bedcf..259f3da 100644 --- a/src/main.zig +++ b/src/main.zig @@ -163,19 +163,18 @@ fn decode(text: []const u8) !std.BoundedArray(u8, 1024) { const Chirp = struct { const PostsPerPage = 10; const UsersPerPage = 10; + var HashBuffer = std.mem.zeroes([1024 * 1024 * 50]u8); pub fn hash_password(password: []const u8) !PasswordHash { var hash_buffer = try PasswordHash.init(128); // TODO: choose buffer size - // TODO: dont allocate on stack, maybe zero memory? - var buffer: [1024 * 10]u8 = undefined; - var alloc = std.heap.FixedBufferAllocator.init(&buffer); + var alloc = std.heap.FixedBufferAllocator.init(&HashBuffer); // TODO: choose limits const result = try std.crypto.pwhash.argon2.strHash(password, .{ .allocator = alloc.allocator(), - .params = std.crypto.pwhash.argon2.Params.fromLimits(1000, 1024), + .params = std.crypto.pwhash.argon2.Params.owasp_2id, }, hash_buffer.slice()); try hash_buffer.resize(result.len); @@ -184,8 +183,7 @@ const Chirp = struct { } pub fn verify_password(password: []const u8, hash: PasswordHash) bool { - var buffer: [1024 * 10]u8 = undefined; - var alloc = std.heap.FixedBufferAllocator.init(&buffer); + var alloc = std.heap.FixedBufferAllocator.init(&HashBuffer); if (std.crypto.pwhash.argon2.strVerify(hash.constSlice(), password, .{ .allocator = alloc.allocator(), @@ -601,6 +599,10 @@ fn write_start(res: *http.Response) !void { \\ form { \\ display: inline-block; \\ } + \\ body { + \\ margin:40px auto;max-width:650px;line-height:1.6;font-size:18px;color:#444;padding:0 10px; + \\ } + \\ h1,h2,h3{line-height:1.2} \\ \\ \\
@@ -716,7 +718,7 @@ fn write_post(res: *http.Response, txn: lmdb.Txn, logged_in: ?Login, post_id: Po try res.write("