~ubuntu-branches/ubuntu/vivid/samba/vivid

« back to all changes in this revision

Viewing changes to lib/util/fault.c

  • Committer: Package Import Robot
  • Author(s): Chuck Short
  • Date: 2011-12-21 13:18:04 UTC
  • mfrom: (0.39.21 sid)
  • Revision ID: package-import@ubuntu.com-20111221131804-xtlr39wx6njehxxr
Tags: 2:3.6.1-3ubuntu1
* Merge from Debian testing.  Remaining changes:
  + debian/patches/VERSION.patch:
    - set SAMBA_VERSION_SUFFIX to Ubuntu.
  + debian/patches/error-trans.fix-276472:
    - Add the translation of Unix Error code -ENOTSUP to NT Error Code
    - NT_STATUS_NOT_SUPPORTED to prevent the Permission denied error.
  + debian/smb.conf:
    - add "(Samba, Ubuntu)" to server string.
    - comment out the default [homes] share, and add a comment about
      "valid users = %S" to show users how to restrict access to
      \\server\username to only username.
    - Set 'usershare allow guests', so that usershare admins are 
      allowed to create public shares in addition to authenticated
      ones.
    - add map to guest = Bad user, maps bad username to guest access.
  + debian/samba-common.config:
    - Do not change priority to high if dhclient3 is installed.
    - Use priority medium instead of high for the workgroup question.
  + debian/control:
    - Don't build against or suggest ctdb.
    - Add dependency on samba-common-bin to samba.
  + Add ufw integration:
    - Created debian/samba.ufw.profile
    - debian/rules, debian/samba.dirs, debian/samba.files: install
      profile
    - debian/control: have samba suggest ufw
  + Add apport hook:
    - Created debian/source_samba.py.
    - debian/rules, debian/samba.dirs, debian/samba-common-bin.files: install
  + Switch to upstart:
    - Add debian/samba.{nmbd,smbd}.upstart.
  + debian/samba.logrotate, debian/samba-common.dhcp, debian/samba.if-up:
    - Make them upstart compatible
  + debian/samba.postinst: 
    - Avoid scary pdbedit warnings on first import.
  + debian/samba-common.postinst: Add more informative error message for
    the case where smb.conf was manually deleted
  + debian/patches/fix-debuglevel-name-conflict.patch: don't use 'debug_level'
    as a global variable name in an NSS module 
  + Dropped:
    - debian/patches/error-trans.fix-276472
    - debian/patches/fix-debuglevel-name-conflict.patch

Show diffs side-by-side

added added

removed removed

Lines of Context:
51
51
#define BACKTRACE_STACK_SIZE 64
52
52
#endif
53
53
        void *backtrace_stack[BACKTRACE_STACK_SIZE];
54
 
        size_t backtrace_size;
 
54
        int backtrace_size;
55
55
        char **backtrace_strings;
56
56
 
57
57
        /* get the backtrace (stack frames) */
125
125
                char pidstr[20];
126
126
                char cmdstring[200];
127
127
                safe_strcpy(cmdstring, panic_action, sizeof(cmdstring));
128
 
                snprintf(pidstr, sizeof(pidstr), "%u", getpid());
 
128
                snprintf(pidstr, sizeof(pidstr), "%d", (int) getpid());
129
129
                all_string_sub(cmdstring, "%PID%", pidstr, sizeof(cmdstring));
130
130
                if (progname) {
131
131
                        all_string_sub(cmdstring, "%PROG%", progname, sizeof(cmdstring));
145
145
        call_backtrace();
146
146
 
147
147
#ifdef SIGABRT
148
 
        CatchSignal(SIGABRT,SIGNAL_CAST SIG_DFL);
 
148
        CatchSignal(SIGABRT, SIG_DFL);
149
149
#endif
150
150
        abort();
151
151
}
187
187
**/
188
188
_PUBLIC_ void fault_setup(const char *pname)
189
189
{
190
 
        if (progname == NULL) {
191
 
                progname = pname;
 
190
        if (progname != NULL) {
 
191
                return;
192
192
        }
 
193
        progname = pname;
193
194
#ifdef SIGSEGV
194
 
        CatchSignal(SIGSEGV,SIGNAL_CAST sig_fault);
 
195
        CatchSignal(SIGSEGV, sig_fault);
195
196
#endif
196
197
#ifdef SIGBUS
197
 
        CatchSignal(SIGBUS,SIGNAL_CAST sig_fault);
 
198
        CatchSignal(SIGBUS, sig_fault);
198
199
#endif
199
200
#ifdef SIGABRT
200
 
        CatchSignal(SIGABRT,SIGNAL_CAST sig_fault);
 
201
        CatchSignal(SIGABRT, sig_fault);
201
202
#endif
202
203
#ifdef SIGFPE
203
 
        CatchSignal(SIGFPE,SIGNAL_CAST sig_fault);
 
204
        CatchSignal(SIGFPE, sig_fault);
204
205
#endif
205
206
}
206
207
 
207
208
/**
 
209
   disable setting up fault handlers
 
210
**/
 
211
_PUBLIC_ void fault_setup_disable(void)
 
212
{
 
213
        progname = "fault disabled";
 
214
}
 
215
 
 
216
 
 
217
/**
208
218
  register a fault handler. 
209
219
  Should only be called once in the execution of smbd.
210
220
*/