diff --git a/.gitignore b/.gitignore
index 2ee3862..53e0e87 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,3 +10,5 @@
 *.app
 *.DS_Store
 osx/Frameworks/Sparkle.framework
+Sparkle*
+*priv.pem
diff --git a/gui/chronosharegui.cpp b/gui/chronosharegui.cpp
index cdc5dc0..1dbb402 100644
--- a/gui/chronosharegui.cpp
+++ b/gui/chronosharegui.cpp
@@ -52,7 +52,7 @@
   , m_executor (1)
 #endif
 #ifdef SPARKLE_SUPPORTED
-  , m_autoUpdate(new SparkleAutoUpdate(tr("http://irl.cs.ucla.edu")))
+  , m_autoUpdate(new SparkleAutoUpdate(tr("http://irl.cs.ucla.edu/~zhenkai/chronoshare_dist/chronoshare.xml")))
 #endif
 {
   setWindowTitle("Settings");
@@ -164,7 +164,6 @@
 
   delete m_watcher; // stop filewatching ASAP
   delete m_dispatcher; // stop dispatcher ASAP, but after watcher (to prevent triggering callbacks on deleted object)
-  m_httpServer->handle_stop();
   delete m_httpServer;
 
   // cleanup
diff --git a/osx/dsa_pub.pem b/osx/dsa_pub.pem
new file mode 100644
index 0000000..492a325
--- /dev/null
+++ b/osx/dsa_pub.pem
@@ -0,0 +1,12 @@
+-----BEGIN PUBLIC KEY-----
+MIIBuDCCASwGByqGSM44BAEwggEfAoGBAKhLs5ggPDzXB1IwphPc7oHgUQYMG5MY
+WGC38Qm5iH6wpgCVEk1ItZKO9BVTjr61ABLvuuGpc34F3lCdunmKdWr6HD6o58Gv
+aa5YXqO8I4Nbg3/xIG5hugx6HdjxNxLeJJQcgLWoqv5c0TXf3gJwCzoq5jdON7Pq
+eBF5JFdMlyR1AhUAgbTZqZej1+16QXEdWV8wcerft90CgYEAgWprCCsEgUsGi1Ab
+3J7cdDlzEu+KUWngClmUMMvBhpOdhVGNgzWTB5s1isDVye7KNDBpIxa/4m2TYlp1
+d1H2ssZiJcEQh5vdDaSR07Fb5s0fsi/9oMW0xWjovs8i1QNGv2K28cZyEuRgJngy
+Vvbk0qfSwS29Z52WWCX7uBCFQqQDgYUAAoGBAJoIIO5e+mgSBE7jcc+6YImOZLdt
+CwWosAnZw7z23mzD1PfegYgNDt9bVefoZDCy2Ci/yhddTAhWgDnORpJ4rQCELVYx
+02ZiMxkQiLDSakEbs1kSCap9svLUNYLt/rVC/3QQa7Qc/96WqhycpGgYOquwEbz1
+Gu8LU+Ikd9mOVJXq
+-----END PUBLIC KEY-----
diff --git a/osx/osxdist.py b/osx/osxdist.py
index 77c7546..28e01b1 100644
--- a/osx/osxdist.py
+++ b/osx/osxdist.py
@@ -376,7 +376,7 @@
   a = AppBundle('ChronoShare.app', ver)
   a.copy_qt_plugins()
   a.handle_libs()
-  a.copy_resources(['../gui/images', '../gui/html', '../osx/qt.conf'])
+  a.copy_resources(['../gui/images', '../gui/html', '../osx/qt.conf', '../osx/dsa_pub.pem'])
   a.update_plist()
   a.set_min_macosx_version('10.8.0')
   a.done()
diff --git a/server/server.cpp b/server/server.cpp
index fa20be7..5d73549 100644
--- a/server/server.cpp
+++ b/server/server.cpp
@@ -29,12 +29,14 @@
   // Register to handle the signals that indicate when the server should exit.
   // It is safe to register for the same signal multiple times in a program,
   // provided all registration for the specified signal is made through Asio.
+  /*
   signals_.add(SIGINT);
   signals_.add(SIGTERM);
 #if defined(SIGQUIT)
   signals_.add(SIGQUIT);
 #endif // defined(SIGQUIT)
   signals_.async_wait(boost::bind(&server::handle_stop, this));
+  */
 
   // Open the acceptor with the option to reuse the address (i.e. SO_REUSEADDR).
   boost::asio::ip::tcp::resolver resolver(io_service_);
@@ -50,6 +52,11 @@
   _LOG_DEBUG("Listen on [" << address << ": " << port << "] with doc_root = " << doc_root);
 }
 
+server::~server()
+{
+  handle_stop();
+}
+
 void server::run()
 {
   // The io_service::run() call will block until all asynchronous operations
diff --git a/server/server.hpp b/server/server.hpp
index 408f7b9..d6e50a9 100644
--- a/server/server.hpp
+++ b/server/server.hpp
@@ -34,10 +34,12 @@
   /// Run the server's io_service loop.
   void run();
 
+  ~server();
+
+private:
   /// Handle a request to stop the server.
   void handle_stop();
 
-private:
   /// Initiate an asynchronous accept operation.
   void start_accept();
 
diff --git a/wscript b/wscript
index 2c30e6c..8fd2b02 100644
--- a/wscript
+++ b/wscript
@@ -229,6 +229,8 @@
     <string>%s</string>
     <key>LSUIElement</key>
     <string>1</string>
+    <key>SUPublicDSAKeyFile</key>
+    <string>dsa_pub.pem</string>
 </dict>
 </plist>'''
         qt.mac_app = "ChronoShare.app"
