summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2014-02-08 15:27:54 -0400
committerGravatar Joey Hess <joey@kitenet.net>2014-02-08 15:27:54 -0400
commit97f152eff1d9b1c7543844dacda8c264aadede9f (patch)
tree78b537bc8a6f9221c57a2743354be1eb1f4c42ca
parent66998d2b63a1e48605f55cba717afa6c00ac1e69 (diff)
parent5896d297738c46b18cb6de0be1e0485ab913ecdc (diff)
Merge branch 'master' of ssh://git-annex.branchable.com
-rw-r--r--doc/bugs/More_build_oddities_under_OpenBSD/comment_10_09297f99f3c1c081738ca4ab32808fde._comment8
-rw-r--r--doc/bugs/More_build_oddities_under_OpenBSD/comment_11_1407efc78b92a3c6156154f54e4a14e2._comment97
-rw-r--r--doc/bugs/More_build_oddities_under_OpenBSD/comment_8_275d3e62cb5667a2d6ddd90db7a40bff._comment18
-rw-r--r--doc/bugs/More_build_oddities_under_OpenBSD/comment_9_ec6a1eb6c7b264c23ec4bbd45465d7d8._comment12
-rw-r--r--doc/forum/Can_not_Drop_Unused_Files_With_Spaces/comment_2_b2735a6e03db3f77a87a0f7d87347685._comment16
-rw-r--r--doc/forum/Can_not_Drop_Unused_Files_With_Spaces/comment_3_dd82a0cd698b0688ff08f0462af0275f._comment8
6 files changed, 159 insertions, 0 deletions
diff --git a/doc/bugs/More_build_oddities_under_OpenBSD/comment_10_09297f99f3c1c081738ca4ab32808fde._comment b/doc/bugs/More_build_oddities_under_OpenBSD/comment_10_09297f99f3c1c081738ca4ab32808fde._comment
new file mode 100644
index 000000000..e3871ea61
--- /dev/null
+++ b/doc/bugs/More_build_oddities_under_OpenBSD/comment_10_09297f99f3c1c081738ca4ab32808fde._comment
@@ -0,0 +1,8 @@
+[[!comment format=mdwn
+ username="http://joeyh.name/"
+ ip="209.250.56.163"
+ subject="comment 10"
+ date="2014-02-08T18:31:23Z"
+ content="""
+But you said that setSocketOption failed when you were using XMPP, not when starting the webapp, so I think it's more likely to be one of the setSocketOption calls in the network library, or possibly somewhere else.
+"""]]
diff --git a/doc/bugs/More_build_oddities_under_OpenBSD/comment_11_1407efc78b92a3c6156154f54e4a14e2._comment b/doc/bugs/More_build_oddities_under_OpenBSD/comment_11_1407efc78b92a3c6156154f54e4a14e2._comment
new file mode 100644
index 000000000..78c430533
--- /dev/null
+++ b/doc/bugs/More_build_oddities_under_OpenBSD/comment_11_1407efc78b92a3c6156154f54e4a14e2._comment
@@ -0,0 +1,97 @@
+[[!comment format=mdwn
+ username="https://www.google.com/accounts/o8/id?id=AItOawkzwmw_zyMpZC9_J7ey--woeYPoZkAOgGw"
+ nickname="dxtrish"
+ subject="comment 11"
+ date="2014-02-08T19:18:17Z"
+ content="""
+I honestly have no idea why that move works because
+
+ % ls -lh /usr/lib|grep -E '(gsasl|xml2|gnutls|idn)'
+
+returns nothing. But couldn't those symbols already be in the other libraries considering, from what I've read at least, haskell stuff are statically compiled by default?
+
+Anyway, you are completely right that this happened when I try to use XMPP. The reason I was looking in the wrong place to begin with was because the webapp spit out the error messsage. I have redirected my attention to the network library and the xmpp library.
+
+But I might have found something interesting in the network library. Keep in mind that I just learned a little today, so do correct me if I'm wrong.
+
+Looking at http://hackage.haskell.org/package/network-2.2.1.8/docs/src/Network-Socket.html I found:
+
+ setSocketOption :: Socket
+ -> SocketOption -- Option Name
+ -> Int -- Option Value
+ -> IO ()
+ setSocketOption (MkSocket s _ _ _ _) so v = do
+ with (fromIntegral v) $ \ptr_v -> do
+ throwErrnoIfMinus1_ \"setSocketOption\" $
+ c_setsockopt s (socketOptLevel so) (packSocketOption so) ptr_v
+ (fromIntegral (sizeOf v))
+ return ()
+
+Everything here looks good. So I decided to take a look at SocketOption, socketOptLevel and packSocketOption.
+
+ data SocketOption
+ = DummySocketOption__
+ | Debug {- SO_DEBUG -}
+ | ReuseAddr {- SO_REUSEADDR -}
+ | Type {- SO_TYPE -}
+ | SoError {- SO_ERROR -}
+ | DontRoute {- SO_DONTROUTE -}
+ | Broadcast {- SO_BROADCAST -}
+ | SendBuffer {- SO_SNDBUF -}
+ | RecvBuffer {- SO_RCVBUF -}
+ | KeepAlive {- SO_KEEPALIVE -}
+ | OOBInline {- SO_OOBINLINE -}
+ | TimeToLive {- IP_TTL -}
+ | MaxSegment {- TCP_MAXSEG -}
+ | NoDelay {- TCP_NODELAY -}
+ | Linger {- SO_LINGER -}
+ | RecvLowWater {- SO_RCVLOWAT -}
+ | SendLowWater {- SO_SNDLOWAT -}
+ | RecvTimeOut {- SO_RCVTIMEO -}
+ | SendTimeOut {- SO_SNDTIMEO -}
+
+ socketOptLevel :: SocketOption -> CInt
+ socketOptLevel so =
+ case so of
+ TimeToLive -> 0
+ MaxSegment -> 6
+ NoDelay -> 6
+ _ -> 1
+
+ packSocketOption :: SocketOption -> CInt
+ packSocketOption so =
+ case so of
+ Debug -> 1
+ ReuseAddr -> 2
+ Type -> 3
+ SoError -> 4
+ DontRoute -> 5
+ Broadcast -> 6
+ SendBuffer -> 7
+ RecvBuffer -> 8
+ KeepAlive -> 9
+ OOBInline -> 10
+ TimeToLive -> 2
+ MaxSegment -> 2
+ NoDelay -> 1
+ Linger -> 13
+ RecvLowWater -> 18
+ SendLowWater -> 19
+ RecvTimeOut -> 20
+ SendTimeOut -> 21
+
+Everything looks good so I thought long and hard about this. Then, by chance, I just looked at the man page for setsockopt() and it mentioned SOL_SOCKET and I was like \"Hmm...\"
+
+ % grep -R SOL_SOCKET /usr/include
+ /usr/include/openssl/e_os.h:#define ioctlsocket(a,b,c) setsockopt((a),SOL_SOCKET,(b),(c),sizeof(*(c)))
+ /usr/include/sys/socket.h:#define SOL_SOCKET 0xffff /* options for socket level */
+ /usr/include/sys/socket.h:/* Read using getsockopt() with SOL_SOCKET, SO_PEERCRED */
+
+Wat?
+
+ #define SOL_SOCKET 0xffff
+
+Going back to the Haskell code above I realized that SetSocketOption will NEVER feed 0xffff as level to setsockopt() because socketOptLevel returns 1 unless optname is TimeToLive, MaxSegment or NoDelay.
+
+Am I way off?
+"""]]
diff --git a/doc/bugs/More_build_oddities_under_OpenBSD/comment_8_275d3e62cb5667a2d6ddd90db7a40bff._comment b/doc/bugs/More_build_oddities_under_OpenBSD/comment_8_275d3e62cb5667a2d6ddd90db7a40bff._comment
new file mode 100644
index 000000000..f7f7e3429
--- /dev/null
+++ b/doc/bugs/More_build_oddities_under_OpenBSD/comment_8_275d3e62cb5667a2d6ddd90db7a40bff._comment
@@ -0,0 +1,18 @@
+[[!comment format=mdwn
+ username="https://www.google.com/accounts/o8/id?id=AItOawkzwmw_zyMpZC9_J7ey--woeYPoZkAOgGw"
+ nickname="dxtrish"
+ subject="comment 8"
+ date="2014-02-08T18:13:33Z"
+ content="""
+What I did was to temporarily move away (or rename) the offending libs. What I essentially did was this:
+
+ cabal configure
+ cabal build
+ sudo mv /usr/local/lib/lib{xml2,gnutls,gsasl,idn}.a /tmp
+ cabal install
+ sudo mv /tmp/lib{xml2,gnutls,gsasl,idn}.a /usr/local/lib
+
+but I've also had to patch network-info. I've contacted the maintainer of that package but I haven't received anything. I'm considering creating an actual fork with my changes but that would almost seem kind of silly as I don't know *ANY* haskell.. But I am looking at the Haskell wiki as I'm typing this so I can see what I'm looking at :).
+
+Won't break anything by not setting SO_REUSEADDR? I suspect you're setting it for a reason?
+"""]]
diff --git a/doc/bugs/More_build_oddities_under_OpenBSD/comment_9_ec6a1eb6c7b264c23ec4bbd45465d7d8._comment b/doc/bugs/More_build_oddities_under_OpenBSD/comment_9_ec6a1eb6c7b264c23ec4bbd45465d7d8._comment
new file mode 100644
index 000000000..dee77a69f
--- /dev/null
+++ b/doc/bugs/More_build_oddities_under_OpenBSD/comment_9_ec6a1eb6c7b264c23ec4bbd45465d7d8._comment
@@ -0,0 +1,12 @@
+[[!comment format=mdwn
+ username="http://joeyh.name/"
+ ip="209.250.56.163"
+ subject="comment 9"
+ date="2014-02-08T18:29:41Z"
+ content="""
+So you moved away libs in /usr/local to expose usable ones in /usr?
+
+I've had luck before sending the network-info mantainer pull requests: <https://github.com/jystic/network-info/issues/3>
+
+git-annex does set ReuseAddr in one place; in Utility/Webapp.hs. The only time that would have a benefit would be when using `git annex webapp --listen=address:port` and starting and restarting the webapp. Normally the webapp chooses a random free port so it shouldn't need that.
+"""]]
diff --git a/doc/forum/Can_not_Drop_Unused_Files_With_Spaces/comment_2_b2735a6e03db3f77a87a0f7d87347685._comment b/doc/forum/Can_not_Drop_Unused_Files_With_Spaces/comment_2_b2735a6e03db3f77a87a0f7d87347685._comment
new file mode 100644
index 000000000..5f5694c00
--- /dev/null
+++ b/doc/forum/Can_not_Drop_Unused_Files_With_Spaces/comment_2_b2735a6e03db3f77a87a0f7d87347685._comment
@@ -0,0 +1,16 @@
+[[!comment format=mdwn
+ username="https://me.yahoo.com/a/FHnTlSBo1eCGJRwueeKeB6.RCaPbGMPr5jxx8A--#ce0d8"
+ nickname="Hamza"
+ subject="comment 2"
+ date="2014-02-08T18:30:47Z"
+ content="""
+I tried with/without --from still does not drop the files.
+
+ git annex dropunused --from cloud 1-3 --force
+ dropunused 1 (from cloud...) (gpg) ok
+ dropunused 2 (from cloud...) ok
+ dropunused 3 (from cloud...) ok
+ (Recording state in git...)
+
+still running unused shows the files as unused.
+"""]]
diff --git a/doc/forum/Can_not_Drop_Unused_Files_With_Spaces/comment_3_dd82a0cd698b0688ff08f0462af0275f._comment b/doc/forum/Can_not_Drop_Unused_Files_With_Spaces/comment_3_dd82a0cd698b0688ff08f0462af0275f._comment
new file mode 100644
index 000000000..86e3bd2c1
--- /dev/null
+++ b/doc/forum/Can_not_Drop_Unused_Files_With_Spaces/comment_3_dd82a0cd698b0688ff08f0462af0275f._comment
@@ -0,0 +1,8 @@
+[[!comment format=mdwn
+ username="http://joeyh.name/"
+ ip="209.250.56.163"
+ subject="comment 3"
+ date="2014-02-08T19:17:46Z"
+ content="""
+Ok, you're right and this *does* involve spaces. Some bug in the unused log parser.
+"""]]