diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,7 @@
+## 1.1.8
+
+*  Adding buffer size to sourceHandleRange [#213](https://github.com/snoyberg/conduit/pull/213)
+
 ## 1.1.7.3
 
 * Make Binary.lines O(n) instead of O(n^2) [#209](https://github.com/snoyberg/conduit/pull/209)
diff --git a/Data/Conduit/Binary.hs b/Data/Conduit/Binary.hs
--- a/Data/Conduit/Binary.hs
+++ b/Data/Conduit/Binary.hs
@@ -17,6 +17,7 @@
     , sourceIOHandle
     , sourceFileRange
     , sourceHandleRange
+    , sourceHandleRangeWithBuffer
       -- ** Sinks
     , sinkFile
     , sinkHandle
@@ -181,7 +182,21 @@
                   -> Maybe Integer -- ^ Offset
                   -> Maybe Integer -- ^ Maximum count
                   -> Producer m S.ByteString
-sourceHandleRange handle offset count = do
+sourceHandleRange handle offset count =
+  sourceHandleRangeWithBuffer handle offset count defaultChunkSize
+
+-- | Stream the contents of a handle as binary data, starting from a certain
+-- offset and only consuming up to a certain number of bytes. This function
+-- consumes chunks as specified by the buffer size.
+--
+-- Since 1.1.8
+sourceHandleRangeWithBuffer :: MonadIO m
+                  => IO.Handle
+                  -> Maybe Integer -- ^ Offset
+                  -> Maybe Integer -- ^ Maximum count
+                  -> Int -- ^ Buffer size
+                  -> Producer m S.ByteString
+sourceHandleRangeWithBuffer handle offset count buffer = do
     case offset of
         Nothing -> return ()
         Just off -> liftIO $ IO.hSeek handle IO.AbsoluteSeek off
@@ -190,7 +205,7 @@
         Just c -> pullLimited (fromInteger c)
   where
     pullUnlimited = do
-        bs <- liftIO $ S.hGetSome handle 4096
+        bs <- liftIO $ S.hGetSome handle buffer
         if S.null bs
             then return ()
             else do
@@ -198,7 +213,7 @@
                 pullUnlimited
 
     pullLimited c = do
-        bs <- liftIO $ S.hGetSome handle (min c 4096)
+        bs <- liftIO $ S.hGetSome handle (min c buffer)
         let c' = c - S.length bs
         assert (c' >= 0) $
             if S.null bs
diff --git a/conduit-extra.cabal b/conduit-extra.cabal
--- a/conduit-extra.cabal
+++ b/conduit-extra.cabal
@@ -1,5 +1,5 @@
 Name:                conduit-extra
-Version:             1.1.7.3
+Version:             1.1.8
 Synopsis:            Batteries included conduit: adapters for common libraries.
 Description:
     The conduit package itself maintains relative small dependencies. The purpose of this package is to collect commonly used utility functions wrapping other library dependencies, without depending on heavier-weight dependencies. The basic idea is that this package should only depend on haskell-platform packages and conduit.
@@ -32,7 +32,7 @@
   if !os(windows)
       Exposed-modules: Data.Conduit.Network.Unix
 
-  Build-depends:       base                     >= 4            && < 5
+  Build-depends:       base                     >= 4.5          && < 5
                      , conduit                  >= 1.1          && < 1.3
 
                        -- No version bounds necessary, since they're inherited
