go-imap
go-imap copied to clipboard
📥 An IMAP library for clients and servers
This is https://github.com/emersion/go-imap/pull/300 rebased against master. The AutoLogout test has a race: ``` ================== WARNING: DATA RACE Write at 0x00c000172800 by goroutine 51: github.com/emersion/go-imap/server_test.TestLogin_AutoLogout() /home/simon/src/go-imap/server/cmd_noauth_test.go:133 +0x134 testing.tRunner() /usr/lib/go/src/testing/testing.go:909 +0x199 Previous...
This PR contains the memory backend changes extracted from https://github.com/emersion/go-imap/pull/300. cc @Neopallium
Hi there! This is my first contribution to this library and I will say it's quite powerful! I dug around this morning looking for ways to add arbitrary raw attributes...
Comments in #260 outline a number of issues caused by an attempt to keep extensions independent of the main go-imap code. This includes two extensions being unable to extend the...
String constants are declared this way: ```go const ( // SetFlags replaces existing flags by new ones. SetFlags FlagsOp = "FLAGS" // AddFlags adds new flags. AddFlags = "+FLAGS" //...
``` bash panic: runtime error: index out of range [1] with length 1 goroutine 1644487 [running]: github.com/emersion/go-imap/client.(*Client).handleUnilateral.func1(0xce80e0, 0xc001782de0, 0xce8020, 0xc00018c590) /home/pp/go/pkg/mod/github.com/emersion/[email protected]/client/client.go:437 +0xcca github.com/emersion/go-imap/responses.HandlerFunc.Handle(0xc00898d790, 0xce80e0, 0xc001782de0, 0xce8001, 0xc00018c590) /home/pp/go/pkg/mod/github.com/emersion/[email protected]/responses/responses.go:27 +0x3a github.com/emersion/go-imap/client.(*Client).handle(0xc0002af2c0,...
If the user calls `Client.Append` with flags containing invalid chars (e.g. a space), go-imap will send garbage to the server. We should check such user-provided strings. Maybe we can introduce...
## Problem - It is unsafe to send updates to clients literally "at any time". This causes major problems with synchronization and sequence numbers. - RFC 3501 prohibits sending EXPUNGE...
https://github.com/dovecot/imaptest