]> code.delx.au - offlineimap/blobdiff - offlineimap/repository/IMAP.py
Patch from Jim Pryor to support /etc/netrc in addition to ~/.netrc
[offlineimap] / offlineimap / repository / IMAP.py
index a9d73438edb89b249186bd72a2c1ca282868bcdf..f8445f8f88861f70c0839e769dbd710ce24bbe54 100644 (file)
@@ -117,6 +117,16 @@ class IMAPRepository(BaseRepository):
             if netrcentry:
                 return netrcentry[0]
 
+        try:
+            netrcentry = netrc.netrc('/etc/netrc').authentificator(self.gethost())
+        except IOError, inst:
+            if inst.errno != errno.ENOENT:
+                raise
+        else:
+            if netrcentry:
+                return netrcentry[0]
+
+
     def getport(self):
         return self.getconfint('remoteport', None)
 
@@ -170,6 +180,16 @@ class IMAPRepository(BaseRepository):
                 user = self.getconf('remoteuser')
                 if user == None or user == netrcentry[0]:
                     return netrcentry[2]
+        try:
+            netrcentry = netrc.netrc('/etc/netrc').authenticators(self.gethost())
+        except IOError, inst:
+            if inst.errno != errno.ENOENT:
+                raise
+        else:
+            if netrcentry:
+                user = self.getconf('remoteuser')
+                if user == None or user == netrcentry[0]:
+                    return netrcentry[2]
         return None
 
     def getfolder(self, foldername):