static http_t *cups_connect(TALLOC_CTX *frame) { http_t *http = NULL; char *server = NULL, *p = NULL; int port; int timeout = lp_cups_connection_timeout(); size_t size; if (lp_cups_server(talloc_tos()) != NULL && strlen(lp_cups_server(talloc_tos())) > 0) { if (!push_utf8_talloc(frame, &server, lp_cups_server(talloc_tos()), &size)) { return NULL; } } else { server = talloc_strdup(frame,cupsServer()); } if (!server) { return NULL; } p = strchr(server, ':'); if (p) { port = atoi(p+1); *p = '\0'; } else { port = ippPort(); } DEBUG(10, ("connecting to cups server %s:%d\n", server, port)); gotalarm = 0; if (timeout) { CatchSignal(SIGALRM, gotalarm_sig); alarm(timeout); } #ifdef HAVE_HTTPCONNECTENCRYPT http = httpConnectEncrypt(server, port, lp_cups_encrypt()); #else http = httpConnect(server, port); #endif CatchSignal(SIGALRM, SIG_IGN); alarm(0); if (http == NULL) { DEBUG(0,("Unable to connect to CUPS server %s:%d - %s\n", server, port, strerror(errno))); } return http; }
/* Return true if there is a valid error packet formed in the error_blob */ static bool kpasswdd_make_error_reply(struct kdc_server *kdc, TALLOC_CTX *mem_ctx, uint16_t result_code, const char *error_string, DATA_BLOB *error_blob) { char *error_string_utf8; size_t len; DEBUG(result_code ? 3 : 10, ("kpasswdd: %s\n", error_string)); if (!push_utf8_talloc(mem_ctx, &error_string_utf8, error_string, &len)) { return false; } *error_blob = data_blob_talloc(mem_ctx, NULL, 2 + len + 1); if (!error_blob->data) { return false; } RSSVAL(error_blob->data, 0, result_code); memcpy(error_blob->data + 2, error_string_utf8, len + 1); return true; }
static void print_share_mode(const struct share_mode_entry *e, const char *sharepath, const char *fname, void *dummy) { char *utf8_fname; char *utf8_sharepath; int deny_mode; size_t converted_size; if (!is_valid_share_mode_entry(e)) { return; } deny_mode = map_share_mode_to_deny_mode(e->share_access, e->private_options); printf("<tr><td>%s</td>",_(mapPid2Machine(e->pid))); printf("<td>%u</td>",(unsigned int)e->uid); printf("<td>"); switch ((deny_mode>>4)&0xF) { case DENY_NONE: printf("DENY_NONE"); break; case DENY_ALL: printf("DENY_ALL "); break; case DENY_DOS: printf("DENY_DOS "); break; case DENY_FCB: printf("DENY_FCB "); break; case DENY_READ: printf("DENY_READ "); break; case DENY_WRITE:printf("DENY_WRITE "); break; } printf("</td>"); printf("<td>"); if (e->access_mask & (FILE_READ_DATA|FILE_WRITE_DATA)) { printf("%s", _("RDWR ")); } else if (e->access_mask & FILE_WRITE_DATA) { printf("%s", _("WRONLY ")); } else { printf("%s", _("RDONLY ")); } printf("</td>"); printf("<td>"); if((e->op_type & (EXCLUSIVE_OPLOCK|BATCH_OPLOCK)) == (EXCLUSIVE_OPLOCK|BATCH_OPLOCK)) printf("EXCLUSIVE+BATCH "); else if (e->op_type & EXCLUSIVE_OPLOCK) printf("EXCLUSIVE "); else if (e->op_type & BATCH_OPLOCK) printf("BATCH "); else if (e->op_type & LEVEL_II_OPLOCK) printf("LEVEL_II "); else printf("NONE "); printf("</td>"); push_utf8_talloc(talloc_tos(), &utf8_fname, fname, &converted_size); push_utf8_talloc(talloc_tos(), &utf8_sharepath, sharepath, &converted_size); printf("<td>%s</td><td>%s</td><td>%s</td></tr>\n", utf8_sharepath,utf8_fname,tstring(talloc_tos(),e->time.tv_sec)); TALLOC_FREE(utf8_fname); }